【发布时间】:2020-01-22 16:12:50
【问题描述】:
我的应用程序具有注册管理员用户的基本身份验证表单。在登录表单中,电子邮件和密码是必需的,并且可以选择“记住我”。最初,我根据用户选择将 Auth persist 设置为“会话”或“本地”,如 docs 中所示。
firebase.auth().setPersistence(firebase.auth.Auth.Persistence.SESSION) // or .LOCAL
.then(function() {
firebase.auth().signInWithEmailAndPassword(email, password) ...
我有注销按钮调用firebase.auth().signOut()。似乎注销了用户,并重定向到登录屏幕,但如果重新加载页面,用户会再次登录,而无需通过登录表单。
我考虑将setPersistence(firebase.auth.Auth.Persistence.NONE) 添加到注销逻辑中,但是(至少在文档中)它需要signInWithEmailAndPassword 的用户凭据。如果该帐户先前已保留并登录,则此时问题是用户没有离开email 和password。好吧,至少是密码。
我的方法根本上是错误的,还是我需要以其他方式清除本地存储?或者可以将persistUser 设置为“none”而不再次调用signInWithEmailAndPassword?
【问题讨论】:
标签: javascript reactjs firebase firebase-authentication