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.com
、app2.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' 事件出现乱序?
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' 有啥区别