【问题标题】:Firebase - Angularjs handle email verificationFirebase - Angularjs 处理电子邮件验证
【发布时间】:2017-09-12 16:14:56
【问题描述】:

我在我的网络应用程序中使用 firebase 和 Angularjs。我在下面有一个工厂,为我的所有应用程序模块提供服务:

.factory('Auth', ["$firebaseAuth",
    function($firebaseAuth) {
       return $firebaseAuth();
   }
]);

检查页面是否需要身份验证对我来说至关重要(事实上,这是我知道的最简单也是唯一的方法)。所以我把这段代码放在 $stateProvider 中的每个模块配置上:

resolve: {
    "currentAuth": ["Auth", function(Auth) {
        return Auth.$requireSignIn();
    }]

我想使用 firebase 电子邮件验证,根据documents 我需要这样做:

var app = firebase.initializeApp(config);
var auth = app.auth();
...
function handleVerifyEmail(auth, actionCode, continueUrl) {
  auth.applyActionCode(actionCode).then(function(resp) {
   ...
  }).catch(function(error) {
   ...
  });
}

然后它返回错误:

{code: "app/duplicate-app", message: "Firebase: Firebase App named '[DEFAULT]' 已经存在 (app/duplicate-app)。",

我想尝试使用工厂Auth.applyActionCode,但没有这种方法。我该如何解决这个问题?

【问题讨论】:

  • 确保您没有多次调用初始化方法。见:github.com/Polymer/polycasts/issues/16
  • 好的。我已经解决了。是的,问题是,我不知道如何访问已经初始化应用程序的功能。我现在找到了。 firebase.auth().applyActionCode;
  • 很好,添加评论作为答案

标签: angularjs firebase firebase-authentication


【解决方案1】:

确保您没有多次调用初始化方法。有关详细信息,请参阅:github.com/Polymer/polycasts/issues/16。

【讨论】:

    猜你喜欢
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    • 2020-07-16
    • 2021-07-10
    • 2021-10-10
    • 2019-04-03
    相关资源
    最近更新 更多