【问题标题】:Firebase - Share authentication across sub domains using firebase admin sdkFirebase - 使用 firebase admin sdk 跨子域共享身份验证
【发布时间】:2026-02-21 02:50:02
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

    标签: firebase firebase-authentication firebase-admin


    【解决方案1】:

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

    【讨论】:

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