Firebase Google Auth Youtube 重定向 API 调用

问题描述 投票:0回答:1

我不熟悉使用 firebase 身份验证,并且正在使用 google auth 提供程序登录我的应用程序。我注意到,如果我在另一个选项卡中登录到 google 会话(例如 gmail),然后通过 google 登录到我的应用程序(使用 firebase 弹出窗口),我将登录并相应地路由。但是,如果我在其他地方从 google 注销,然后使用 firebase/google 弹出窗口登录,则弹出窗口中的登录会成功,但窗口顶部的 URL 会重定向到:accounts.youtube.com/帐户/SetSID.

有时此网址末尾有一个很长的字符串,我看不到整个内容。enter image description here

这正常吗? URL末尾有一长串正常吗?如果没有,这个重定向信息可以在 firebase、firebase NPM 模块或其他地方设置,以便我可以更改它?只是担心,因为我在网上看到过有关黑客过去可能滥用此 URL 的帖子。

node.js firebase google-oauth
1个回答
0
投票

这是 Google 多站点身份验证实现的一部分,与 Firebase 本身没有太大关系,因为您会在任何“使用 Google 登录”按钮上看到相同的行为。要使用 Google 用户会话进行身份验证,授权用户必须首先登录其 Google 帐户。

当 Google 帐户登录时,会向 Google 网站进行多次调用,通过为这些服务设置适当的会话 cookie 来同步这些网站上新经过身份验证的用户会话,以便它们可供使用。这就是“SetSID”端点的目的,即为该服务“设置会话 ID”。

您的应用程序的身份验证步骤仅在 Google 用户登录后开始。使用您的应用程序对 Google 用户会话的请求中提供的信息,Google 的 OAuth 服务将逐步执行 OAuth 2.0 授权代码授予 以返回访问令牌和 ID 令牌到您的应用程序(通常通过您网站的内置

https://[APPNAME].firebaseapp.com/__/auth/handler
端点)。

如果用户已经登录,则无需调用

SetSID
端点,因为在该用户最初登录时已经调用过这些端点。

如果您想了解更多详细信息,Pragnesh Patadia 在其对 “Google 如何在多个域之间实现 SSO?”的回复中提供了精彩的总结。在 Quora 上

© www.soinside.com 2019 - 2024. All rights reserved.