介绍
Emberfire-phone-cordova 是一个通过 cordova 实现了 Firebase Authentication 验证,并支持各种 OAuth 提供商的 Ember Addon。本文将介绍如何安装和使用这个 npm 包。
准备
首先我们需要确保已经安装了 cordova 和 Ember.js,如果还没有安装可以通过下面的命令进行安装:
npm install -g cordova npm install -g ember-cli
安装
安装 Emberfire-phone-cordova 可以通过 npm 包管理器来实现:
npm install --save-dev emberfire-phone-cordova
配置
在 config/environment.js 文件中加入 firebase 的配置:
-- -------------------- ---- ------- --- --- - - --------- - ------- --------------- ----------- ----------------------------------- ------------ ------------------------------------------- -------------- ---------------------------------- ------------------ ------------------------ - --
在 config/environment.js 文件的 export default 中添加以下配置信息:
-- -------------------- ---- ------- -------------- - --------------------- - --- --- - - --------- - --- -- -------- - ---------------- ------ -------- ------ --------- ---------- -------- - ------------------------ ------------------------------------- ------------------------------ -------------------------- - - --
使用
1. 引入 emberfire-phone-cordova
在应用程序的 app.js 文件中,需要引入 Emberfire 和 Emberfire-phone-cordova。这可以在应用程序的 app.js 文件的顶部完成:
import Ember from 'ember'; import Firebase from 'firebase'; import EmberFire from 'emberfire'; import PhoneCordovaAuthProvider from 'emberfire-phone-cordova/auth-providers/cordova';
2. 定义一个 Login Controller
-- -------------------- ---- ------- ------ ----- ---- -------- ------ ------- ------------------------- -------- ----------------------- ------------ ----------------------- -------------- ------------ ---------- --------- ------------------------------------- -------- - ------------------- - ------------------------------------ - --------- ----------- --------- -- ---------- -- - ------------------------------------ --- -- ------------------ - ------------------------------------ - --------- ---------- --------- -- ---------- -- - ------------------------------------ --- -- ----------------- - ------------------------------------ - --------- --------- --------- -- ---------- -- - ------------------------------------ --- -- ---------------- - --- -------- - ---------------------------------- --- ----------------- - --- ------------------------------------------------------- ------------------------------------ - --------- ------------------------------------ --------- - --------- ------------------ ------------ ----------------- - ---------- -- - ------------------------------------ --- - - ---
大部分 Login Controller 的部分都很简单,它们只是通过调用 session.open 方法将 provider 策略传递给 session。 注意:在 loginWithPhone 方法中的第 4 行中,需要为你的 OAuth 供应商提供电话号码。
3. 添加 recaptcha 验证
需要在 login-with-phone 的 template 中添加 recaptcha 验证,在这里,我们需要将对 recaptcha-verify 的调用和一个具有 id 为 recaptcha-container 的
{{#if isLoginWithPhone}} <form> <div id="recaptcha-container"></div> <button {{action "loginWithPhone"}}>Login with Phone</button> </form> {{/if}}
4. 绑定 recaptcha
为了正确的代理 recaptcha 的一些回调,我们需要在 login-with-phone 的宣誓中添加以下代码:
-- -------------------- ---- ------- ------ ------------------------ ---- ------------------------------------------------- ------ ------- ------------------------- ----------------- ------------------------------- -------- -- - ------ ------------------------------------------------------------------------ --- -------- - ---------------- - --- ---- - ----- --- -------- - ---------------------------------- --- ----------- - ------------------------------------------- ---- --- ----------------- - --- ------------------------------------------------------- -------------------------------------------------- -------------------------------- -------------------- - --- ---------------- - -------------- ----- --- ------------ - - ----- ---- --- ---- -- ---- ------ ---------- ------ --------------------------------------------- ---------------- -- - -------------------------------- ----------------- ------- - -------------------- ---- ----- -------- ------- --- - - ---
5. 执行 app
我们可以启动应用程序以查看是否在从移动应用程序中登录时调用了 Firebase Authentication:
ember cordova emulate android -- --live-reload
结论
以上就是关于 emberfire-phone-cordova npm 包的使用教程,希望通过此篇文章的解释,可以帮助大家更快速便捷上手该 npm 包。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600562e281e8991b448e0663