Idu*_*ool 6 firebase firebase-authentication flutter-web
我有两个使用Flutter创建的网站。
一个网站部署在主域上,另一个网站部署在已部署第一个站点的主域的子域上。
两个网站都使用相同的 Firebase 项目,因此两者的身份验证详细信息和用户群相同。
我想要实现的是,当用户登录一个网站时,他不需要登录另一个网站。另一个网站只是将其检测为已登录的用户。这是一种单一标志。
我浏览了 firebase 文档,但没有得到任何有关如何实现它的指导。这custom token可能是实现它的一种方法,但我担心它会使身份验证变得复杂。
任何指示或指导将不胜感激。
最简单的方法是使用Firebase Session Cookies。当用户登录时,调用Cloud Function(或您的服务器)并使用Admin SDK使用方法生成会话 cookie createSessionCookie()。然后您可以设置 cookie .domain.tld,并且可以从您的所有子域访问 cookie。
但是,这意味着您可能必须通过云功能或服务器来处理您的所有请求,因为您无法使用 Firebase 安全规则(除非用户仍使用 Firebase SDK 登录)以及会话 cookie。在提供资源之前,必须在服务器端验证 cookie。
一种解决方法是检查用户是否通过 Firebase SDK 登录子域。session如果不存在,则检查用户首次登录根域时添加的 cookie是否存在。如果 cookie 存在,则生成自定义令牌并使用自定义令牌通过 Firebase SDK 登录用户,如果不存在,则将用户重定向到登录页面。
| 归档时间: |
|
| 查看次数: |
1142 次 |
| 最近记录: |