使用没有第三方 Cookie 的 Google Firebase 身份验证

the*_*ler 7 cookies google-authentication oauth-2.0 firebase-authentication mongodb-stitch

我目前正在尝试使用社交媒体登录,并意识到这些登录信息的交付方式有些奇怪,这是因为我的工作场所与大多数办公室一样,将 3rd 方 cookie 作为安全策略阻止。

Google Firebase 身份验证使用 3rd 方 cookie,因此如果我尝试使用 Firebase,我将被重定向到 Google 页面(如预期)但是当我在登录后被重定向回原始网页时(并且 Firebase 尝试设置 cookie) , 我收到一条错误消息This browser is not supported or 3rd party cookies and data may be disabled.

但是,MongoDB Stitch以某种方式工作,即使禁用了 3rd 方 cookie,我也可以实际登录。我似乎真的无法理解为什么会这样,但我希望这里有人可以对此有所了解。如果有帮助,MongoDB Stitch 会要求您在 Google 控制台中将其设置https://stitch.mongodb.com为 Origin URI 和https://stitch.mongodb.com/api/client/v2.0/auth/callbackAuthorized Redirect URI - 而您必须在 MongoDB 控制台中设置自己的网站 URI,我认为这可能是不同之处?

无论如何,MongoDB Stitch 的文档严重不足(由于它仍处于公开测试阶段),所以如果可能的话,我真的很想采用 Google Firebase 的方式。

  1. 有谁知道 MongoDB Stitch 如何绕过设置 3rd Party Cookies
  2. 如何在禁用第 3 方 Cookie 的情况下使用 Google Firebase 身份验证

boj*_*eil 2

您是否尝试过使用Javascript 的Google 登录gapi.auth2库?上次我检查时,它在禁用第 3 方 cookie 的情况下工作。您可以使用它来获取 Google ID 令牌或访问令牌,然后登录 Firebase:

firebase.auth().signInWithCredential(firebase.auth.GoogleAuthProvider.credential(googleIdToken, googleAccessToken))...`
Run Code Online (Sandbox Code Playgroud)

  • 是否有另一种 Firebase Auth 方式通过 Google 登录,或者 Firebase Auth 是否与禁用第 3 方 cookie 的 Google 签名完全不兼容?我使用 Firebase 进行大多数身份验证。有没有办法完全禁用与 Firebase 和第三方 cookie 一起使用的“使用 Google 登录”按钮?有哪些替代方案? (2认同)