程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在使用 Firebase 中的重定向 Google 登录后将用户重定向到特定网页?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何在使用 Firebase 中的重定向 Google 登录后将用户重定向到特定网页??@H_675_1@ 开发过程中遇到如何在使用 Firebase 中的重定向 Google 登录后将用户重定向到特定网页?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在使用 Firebase 中的重定向 Google 登录后将用户重定向到特定网页?的解决方法建议,希望对你解决如何在使用 Firebase 中的重定向 Google 登录后将用户重定向到特定网页?有所启发或帮助;

Google/Facebook 登录流程的本质是,在我们登录 Google 的重定向页面后,它会返回到我们网站的登录页面。

以下代码在点击 Google/Facebook 登录按钮时运行:
fire.auth().signInWithRedirect(provIDer);

因此,我目前的方法是使用 onAuthStateChanged() 函数检查 Firebase 用户对象。如果用户状态被填充,我渲染一个组件,否则如果它为空,我渲染组件。

{user ? (
    <Home />
  ) : (
    <Signup />
)}

但问题是,在使用 Google 或 Facebook 登录后,组件会显示一段时间(可能是 1-2 秒),然后渲染组件。

我想在使用 Google 重定向登录后立即呈现组件。我该怎么办

解决方法@H_675_1@

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,请注明来意。