我有两个角度应用程序App1和App2。我想将App1会话数据共享给App2。该参考资料与谷歌一样,只需一次登录即可访问所有谷歌应用程序。
答案 0 :(得分:0)
这是一般的逻辑:
用户登录时,请为该登录名分配一个临时令牌。
如果仪表板和app1 BE不同,则db-be将活动令牌传递给app1-be
或更好,将有一个集中的BE只是为了生成会话令牌(请参阅https://www.keycloak.org/和身份管理软件),其中每个BE都要搜索活动令牌。
当用户单击app1仪表板按钮时,BE会将其重定向到类似http://[app1]?token=[hash1234]的位置,其中token是用户的登录令牌值。
启动用户的app1前端,读取令牌并将其保存在本地存储中。
app1通常通过使用角度拦截器通过休息通过BE调用BE时,每次调用都使用标头值{authentication: bearer [token value]}
进行签名,其中Bearer令牌是已经登录的令牌。
BE验证令牌已经有效(很可能是通过对身份服务器的调用),如果是,则授予对被调用资源的访问权限。
请参阅JWT身份验证和SSO登录。