大佬教程收集整理的这篇文章主要介绍了如何在使用 Firebase 中的重定向 Google 登录后将用户重定向到特定网页?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Google/Facebook 登录流程的本质是,在我们登录 Google 的重定向页面后,它会返回到我们网站的登录页面。
以下代码在点击 Google/Facebook 登录按钮时运行:fire.auth().signInWithRedirect(provIDer);
因此,我目前的方法是使用 onAuthStateChanged() 函数检查 Firebase 用户对象。如果用户状态被填充,我渲染一个组件,否则如果它为空,我渲染组件。
{user ? (
<Home />
) : (
<Signup />
)}
但问题是,在使用 Google 或 Facebook 登录后,组件会显示一段时间(可能是 1-2 秒),然后渲染组件。
我想在使用 Google 重定向登录后立即呈现组件。我该怎么办?
google 和 facebook 登录系统本质上是异步的,因此您应该在代码中使用异步 await 方法。
,点击登录按钮时,您应该在登录屏幕中显示完整加载状态
所以当身份验证开始时向用户显示一个加载程序,
如果失败则停止加载器
你可以做类似的事情
if (authUser === undefined || isLoading) {
return <AuthLoader />;
}
return <LoginComponentContents/>
,
我建议将 onAuthStateChanged
中的 auth
侦听器用于所有身份验证方法。这样,您使用什么方法都没有关系。如果有人登录,它会给你 user
,如果没有,它会给你 null
。代码如下所示:
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
} else {
// No user is signed in.
}
});
使用该侦听器定义您的身份验证状态(如果用户已登录或未登录)。您还可以将数据保存在状态管理中,以避免在页面重新加载时闪烁。您可以使用相同的方法进行电子邮件/密码登录。这样一来,您就可以为所有 Firebasse 身份验证方法提供一个简单的解决方案。
当您等待 Google 或其他提供商重定向登录时,我建议设置加载标志并显示循环加载指示器。登录可能总是失败。在您按预期收到来自 authStateChanged
的响应之前,我不建议显示需要登录用户的页面。
以上是大佬教程为你收集整理的如何在使用 Firebase 中的重定向 Google 登录后将用户重定向到特定网页?全部内容,希望文章能够帮你解决如何在使用 Firebase 中的重定向 Google 登录后将用户重定向到特定网页?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。