gpt4 book ai didi

angularjs - 无法在 AngularFire 0.9.0 中使用新的密码身份验证方法?

转载 作者:行者123 更新时间:2023-12-02 23:56:51 25 4
gpt4 key购买 nike

我正在尝试使用 Angular Fire 0.9.0 中的新身份验证方法,但我一定做错了什么。

我正在运行 Angular 1.3.2、Firebase 2.0.4 和 Angular Fire 0.9.0。

我通过 html 中的 ng-click 调用登录函数。

这是我的js:

var app = angular.module("sampleApp", ["firebase"]);

app.controller('mainCtrl', function ($scope, $firebaseAuth) {

var ref = new Firebase('https://XXXX.xxx');

$scope.auth = $firebaseAuth(ref);

$scope.login = function() {
$scope.num = 'loggin in';
$scope.auth.$authWithPassword({
email: '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b6cececef6cecece98cecece" rel="noreferrer noopener nofollow">[email protected]</a>',
password: 'yyyyy'
}, function(err, authData) {
if (err) {
console.log(err);
$scope.num = err;
} else {
console.log(authData);
}
});
};

我在控制台中没有看到任何内容,也没有收到任何错误。所以我不知道如何调试我做错的事情。

当我将 $scope.auth 登录到控制台时,它会显示 $authWithPassword 方法。我就是无法让它发挥作用。

如有任何帮助,我们将不胜感激。

最佳答案

您遇到的问题是 AngularFire API 与常规 Firebase API 的身份验证方法略有不同。虽然 Firebase SDK 将回调作为 authWithPassword() 的第二个参数,但 AngularFire API 返回 $authWithPassword() 的 promise 。造成这种差异的原因是,promise 是 Angular 中非常常见的习惯用法,我们希望提供一个人们已经熟悉的 API。因此,您的代码应如下所示:

var app = angular.module("sampleApp", ["firebase"]);

app.controller('mainCtrl', function ($scope, $firebaseAuth) {
var ref = new Firebase('https://XXXX.xxx');

$scope.auth = $firebaseAuth(ref);

$scope.login = function() {
$scope.num = 'logging in';
$scope.auth.$authWithPassword({
email: '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="394141417941414117414141" rel="noreferrer noopener nofollow">[email protected]</a>',
password: 'yyyyy'
}).then(function(authData) {
console.log(authData);
}).catch(function(error) {
console.log(err);
$scope.num = err;
});
};
});

关于angularjs - 无法在 AngularFire 0.9.0 中使用新的密码身份验证方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27084786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com