gpt4 book ai didi

angularjs - 当我刷新页面时 Firebase authData 变为 null

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

var user = null;    

this.showLoginDialogGoogle = function(){

var ref = new Firebase("https://googlelogin1.firebaseio.com");
ref.authWithOAuthPopup("google", function(error, authData) {
if (error) {
console.log("Login Failed!", error);
} else {
console.log("Authenticated successfully with payload:", authData);
user = authData;
This.goToPage('/profile');
$rootScope.flag=true;
$rootScope.$digest();
}
});
};

我已经使用 firebase google 身份验证对用户进行了身份验证。问题是当我刷新页面时,我的 session 过期并且 authData变成 null .我该怎么做才能在刷新页面后我的 authData仍然保留其在身份验证时获得的数据?

最佳答案

你会想要 monitor authentication state :

// Register the callback to be fired every time auth state changes
var ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com");
ref.onAuth(function authDataCallback(authData) {
if (authData) {
console.log("User " + authData.uid + " is logged in with " + authData.provider);
} else {
console.log("User is logged out");
}
});

请注意,您没有使用 AngularFire 身份验证包装器。虽然您的方法将对用户进行身份验证,但您必须自己通知 Angular 更新范围(请参阅 $timeout() )。如果您不想自己这样做,请查看 AngularFire 的 auth 包装器,特别是 $onAuth()

关于angularjs - 当我刷新页面时 Firebase authData 变为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31952423/

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