reactjs Firebase上的setPersistence [duplicate]

z0qdvdin  于 12个月前  发布在  React
关注(0)|答案(1)|浏览(92)

此问题在此处已有答案

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之前运行,但它就是不起作用

de90aj5v

de90aj5v1#

如果这是一个基于桌面浏览器的应用程序,则会自动启用持久性。
但是,您上面提供的代码不会检测到登录持久性。它由运行onAuthStateChanged()的代码处理,onAuthStateChanged()是浏览器中的“侦听器”,当登录成功完成时会收到通知。登录是一个 * 异步进程 *,因此您希望运行该侦听器以让您的应用知道登录完成。
Here's a simple "starter app"你可以尝试使用React + Firebase身份验证,包括自动登录用户,如果他们之前没有注销。请参阅项目的README中的信息。

相关问题