【发布时间】: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