为 firebase google auth 指定重定向 url

Posted

技术标签:

【中文标题】为 firebase google auth 指定重定向 url【英文标题】:Specify redirect url for firebase google auth 【发布时间】:2016-10-14 12:41:26 【问题描述】:

我正在将 react web 应用程序与 firebase 放在一起。

我有一个登录屏幕供用户使用 Firebase 的 signInWithRedirect 登录 Google。

一切正常,只是身份验证返回登录屏幕,在我的反应路由器接收到他们已经通过身份验证并将它们发送到应用程序主页之前再次显示几秒钟。

刷新应用主页既好又快。

登录已开启 / 应用主页位于 /app

有没有办法指定 Firebase 的 signInWithRedirect 的 Google 身份验证重定向回应用主页而不是原始登录页面?

【问题讨论】:

【参考方案1】:

signInWithRedirect 始终重定向到同一页面。您必须调用 getRedirectResult 然后在登录时重定向到您的应用程序。我们会将您对自定义重定向 url 的请求转发给相关方。

【讨论】:

谢谢你。顺便说一句,爱火基地。我最终制作了一个 Splash 组件,该组件将登录功能路由到该组件,然后进入 google auth。在那个 Splash 中,我检测它是从登录加载还是新加载(即,它来自重定向)并酌情处理流程。不过,一个特定的重定向网址会很好。 我还希望我的应用重定向到初始屏幕,指示它正在等待 google 身份验证完成。 @bojeil - 已经 4 年了。这个功能实现了吗? 在 firebase 重定向回同一 URL 时调用 getRedirectResult() 可能需要一些时间。在用户等待几秒钟之前,该页面似乎什么都没有发生。我希望能够在页面从 Firebase 重定向后立即显示加载。看来我必须自己处理。 我遇到了同样的问题,所以我决定使用 reauthenticateWithPopup 而不是 reauthenticateWithRedirect。【参考方案2】:

您可以使用的一个技巧:

window.history.replaceState(, '', '<Your Url>');

这次通话后signInWithRedirect

请注意,您仍然需要在 &lt;Your Url&gt; 页面上致电 getRedirectResult

【讨论】:

以上是关于为 firebase google auth 指定重定向 url的主要内容,如果未能解决你的问题,请参考以下文章

com.google.firebase.auth.FirebaseAuth 未链接

错误:Firebase Auth Google 删除 EmailPassword Auth

Apple使用FireBase Auth登录android有问题

GetUserByProviderAccountIdError 与 Google 和 Firebase 适配器 Next Auth

使用 Firebase Auth 访问 Google Calendar API

在 Android 中使用 Google/Facebook 时的 Firebase Auth 重复帐户