Firebase - 使用 firebase admin sdk 跨子域共享身份验证

Posted

技术标签:

【中文标题】Firebase - 使用 firebase admin sdk 跨子域共享身份验证【英文标题】:Firebase - Share authentication across sub domains using firebase admin sdk 【发布时间】:2017-10-16 18:30:38 【问题描述】:

我对在我的应用程序的子域之间共享auth object 进行了一些研究。显然firebase的web sdk这个设置。

我的想法是有一个单一的登录网站login.myapp.com,我的其他应用程序app1.myapp.comapp2.myapp.com 可以使用它来进行身份验证。就像谷歌一样。

我的第一次尝试是 stringify() 来自 localStorage 的 auth 对象,然后将其作为 url 参数发送到请求的应用程序,以便我可以 parse() auth 对象并将其存储到该应用程序的 localStorage

但我不喜欢这种设置,不仅令牌会记录在浏览器的历史记录中,而且看起来也很奇怪。

所以我想知道是否有使用 admin sdk 的已知设置。

    login.myapp.com获取授权 将uid 传递给app1.myapp.com app1.myapp.com 通过 http 将 uid 传递给服务器 服务器会检查uid是否被认证。 如果成功,服务器将向app1.myapp.com 响应auth object

firebase 管理员可以生成这样的东西吗?

【问题讨论】:

【参考方案1】:

听起来您需要自定义令牌铸造。您如何使用 Admin SDK 在login.myapp.com 中的mint a custom token,然后将其传递给您的请求应用程序?然后,这些应用可以通过调用 signInWithCustomToken() 登录 Firebase。

【讨论】:

哇!谢谢希兰亚。 :) 测试后我会回到这里接受您的回答。 我们如何将自定义令牌传递给请求应用程序? 嗨 Hiranya,假设用户从 login.myapp.com 登录,当导航到 app1.myapp.com 时,他/她需要再次调用 login 吗?我认为它应该自动登录用户。

以上是关于Firebase - 使用 firebase admin sdk 跨子域共享身份验证的主要内容,如果未能解决你的问题,请参考以下文章

Firebase child_added 仅适用于新项目

Firebase SDK 中的 Google Ads 归因

为啥我的 Firebase 'child_added' 事件出现乱序?

appcompat-v7:27.1.1 与 firebase-ads:15.0.1 冲突

iOS 14 之后 Firebase 中的 Apple Search Ads 广告系列归因

iOS - pod 'Google-Mobile-Ads-SDK' 和 pod 'Firebase/AdMob' 有啥区别