如何在两个角度2应用程序之间共享会话数据

时间:2018-06-08 13:10:52

标签: angular session cookies session-management

我有两个角度应用程序App1和App2。我想将App1会话数据共享给App2。该参考资料与谷歌一样,只需一次登录即可访问所有谷歌应用程序。

1 个答案:

答案 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登录。