此问题在此处已有答案:
Why i can't create persistence authentication (firebase) in my login component?(1个答案)
Firebase: How to persist auth state?(1个答案)
昨天就关门了。
我已经尝试过在firebase在线教程中实现一个持久身份验证的方法。我写了下面的代码:
const signIn = async () => {
await setPersistence(auth, browserLocalPersistence)
await signInWithPopup(auth, provider)
navigate("/Account")
}
字符串
其中进口为:
import { browserLocalPersistence, getAuth, GoogleAuthProvider , setPersistence, signInWithPopup} from "firebase/auth"
型
然而,每次我刷新应用程序时,它都会将我从网站上注销。有人知道问题出在哪里吗
我试着认真地按照教程进行操作,并确保setPersistence在signInWithPopup之前运行,但它就是不起作用
1条答案
按热度按时间de90aj5v1#
如果这是一个基于桌面浏览器的应用程序,则会自动启用持久性。
但是,您上面提供的代码不会检测到登录持久性。它由运行
onAuthStateChanged()
的代码处理,onAuthStateChanged()
是浏览器中的“侦听器”,当登录成功完成时会收到通知。登录是一个 * 异步进程 *,因此您希望运行该侦听器以让您的应用知道登录完成。Here's a simple "starter app"你可以尝试使用React + Firebase身份验证,包括自动登录用户,如果他们之前没有注销。请参阅项目的README中的信息。