Firebase - 使用 firebase admin sdk 跨子域共享身份验证
Firebase - Share authentication across sub domains using firebase admin sdk
我做了一些关于在我的应用程序的子域之间共享 auth object
的研究。显然是 firebase 的 web sdk 这个设置。
我的想法是拥有一个单一登录网站 login.myapp.com
,我的其他应用 app1.myapp.com
、app2.myapp.com
可以使用它进行身份验证。就像 google。
我的第一次尝试是 stringify()
来自 localStorage
的 auth 对象,然后将其作为 url 参数发送到请求应用程序,这样我就可以 parse()
auth 对象并将其存储到该应用程序的 localStorage
。
但是我不喜欢这个设置,不仅令牌会被记录在浏览器的历史记录中,而且看起来也很奇怪。
所以我想知道是否有使用 admin sdk 的已知设置。
- 从
login.myapp.com
获取授权
- 将
uid
传递给 app1.myapp.com
app1.myapp.com
通过 http 将 uid
传递给服务器
- 服务器将检查
uid
是否已通过身份验证。
- 如果成功,服务器将响应
auth object
到 app1.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()
.
我做了一些关于在我的应用程序的子域之间共享 auth object
的研究。显然是 firebase 的 web sdk 这个设置。
我的想法是拥有一个单一登录网站 login.myapp.com
,我的其他应用 app1.myapp.com
、app2.myapp.com
可以使用它进行身份验证。就像 google。
我的第一次尝试是 stringify()
来自 localStorage
的 auth 对象,然后将其作为 url 参数发送到请求应用程序,这样我就可以 parse()
auth 对象并将其存储到该应用程序的 localStorage
。
但是我不喜欢这个设置,不仅令牌会被记录在浏览器的历史记录中,而且看起来也很奇怪。
所以我想知道是否有使用 admin sdk 的已知设置。
- 从
login.myapp.com
获取授权
- 将
uid
传递给app1.myapp.com
app1.myapp.com
通过 http 将 - 服务器将检查
uid
是否已通过身份验证。 - 如果成功,服务器将响应
auth object
到app1.myapp.com
。
uid
传递给服务器
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()
.