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

时间:2018-02-13 00:30:16

标签: cookies oauth-2.0 firebase-authentication google-authentication mongodb-stitch

我目前正在尝试使用社交媒体登录,并且已经意识到这些登录的方式有点奇怪,这是因为我的工作场所像大多数办公室一样阻止第三方Cookie作为安全策略。< / p>

Google Firebase Authentication使用第三方Cookie,因此如果我尝试使用Firebase,我会重定向到Google页面(正如预期的那样),但是当我登录后重定向回原始网页(和Firebase)试图设置cookie),我收到一条错误This browser is not supported or 3rd party cookies and data may be disabled.

然而,MongoDB Stitch以某种方式工作,我能够实际登录,即使禁用第三方Cookie也是如此。我真的似乎无法弄清楚为什么会这样,但我希望有人可以对此有所了解。如果有帮助,MongoDB Stitch会要求您在Google控制台中将https://stitch.mongodb.com设置为Origin URI并将https://stitch.mongodb.com/api/client/v2.0/auth/callback设置为授权重定向URI - 而您必须在MongoDB控制台中设置您自己的网站URI,我相信可能有区别吗?

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

  1. 有谁知道MongoDB Stitch如何绕过设置第三方Cookie
  2. 如何在禁用第三方Cookie时使用Google Firebase身份验证

1 个答案:

答案 0 :(得分:1)

您是否尝试使用gapi.auth2Google sign in library用于Javascript? 上次我检查时,它禁用了第三方cookie。您可以使用它来获取Google ID令牌或访问令牌,然后登录Firebase:

firebase.auth().signInWithCredential(firebase.auth.GoogleAuthProvider.credential(googleIdToken, googleAccessToken))...`