【发布时间】:2018-08-01 03:18:24
【问题描述】:
我正在开发一个带有 firebase 的 ReactJS 应用程序,但我的身份验证持久性没有按预期工作。在开发过程中,它在我的浏览器中运行良好,但是当我将它部署到 Firebase 托管时,它不会在我的网络浏览器和移动浏览器中保存我的身份验证状态。
import * as firebase from 'firebase'
export function signIn(e) { e.preventDefault(); auth.signOut()
auth.setPersistence(firebase.auth.Auth.Persistence.LOCAL).then(function() {
return auth.signInWithEmailAndPassword(email, pass).then(() => {
.....
}).catch(err => {
if (err.code === 'auth/wrong-password') {... }
else { alert(err.message) }
})
})
}
我正在使用 onAuthStateChanged 让用户登录。
auth.onAuthStateChanged(() => {
if (auth.currentUser)
....
})
我强制持久化到LOCAL,知道这是默认设置,但即使它像session 一样工作。我已经阅读了文档Auth Persistence Docs,但是持久性没有按应有的方式工作。经 Android、iOS 和 Web 测试,身份验证状态不持久。
这是 Firebase 托管问题吗?
【问题讨论】:
-
我正在使用身份验证状态更改来让用户登录。这不是问题
标签: javascript reactjs firebase firebase-authentication