我目前正在尝试使用社交媒体登录,并且已经意识到这些登录的方式有点奇怪,这是因为我的工作场所像大多数办公室一样阻止第三方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方式。
答案 0 :(得分:1)
您是否尝试使用gapi.auth2
,Google sign in library用于Javascript?
上次我检查时,它禁用了第三方cookie。您可以使用它来获取Google ID令牌或访问令牌,然后登录Firebase:
firebase.auth().signInWithCredential(firebase.auth.GoogleAuthProvider.credential(googleIdToken, googleAccessToken))...`