【发布时间】:2021-03-04 08:23:54
【问题描述】:
我想知道如何使用 firebase 保持身份验证状态。我正在做的是尝试设置持久性状态,我这样做:
login.addEventListener('click', function (e) {
e.preventDefault();
var email = emailInput.value;
var password = passwordInput.value;
firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL)
.then(function() {
auth.signInWithEmailAndPassword(email, password)
.then(function (user) {
})
.catch(function (error) {
alert(error);
});
})
});
问题是,当我刷新我的网络应用程序时,会话似乎没有持续存在。它将用户重定向回登录屏幕,这根本不是所需的输出。所需的输出将保存用户的会话,并且用户能够通过应用程序而不会出现强制再次登录的问题。
我正在关注 firebase 文档:
https://firebase.google.com/docs/auth/web/auth-state-persistence
【问题讨论】:
-
“当我刷新我的 web 应用程序时,会话似乎没有被持久化”你是如何确定的?您的代码目前都没有处理恢复的身份验证状态。为此,请使用此处第一个示例所示的身份验证状态侦听器:firebase.google.com/docs/auth/web/…
-
还要检查是否需要显式设置持久性。在大多数环境中,默认情况下会正确设置。
-
尝试制作 firebase.auth.Auth.Persistence.SESSION
标签: javascript firebase firebase-authentication