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

Firebase - Share authentication across sub domains using firebase admin sdk

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

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

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

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

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

  1. login.myapp.com
  2. 获取授权
  3. uid 传递给 app1.myapp.com
  4. app1.myapp.com 通过 http
  5. uid 传递给服务器
  6. 服务器将检查 uid 是否已通过身份验证。
  7. 如果成功,服务器将响应 auth objectapp1.myapp.com

firebase 管理员可以制作这样的东西吗?

听起来您需要自定义令牌铸币。你呢mint a custom token in login.myapp.com using an Admin SDK, and then pass it to your requesting apps? These apps can then login to Firebase by calling signInWithCustomToken().