我有两个角度应用程序App1和App2。我想将App1会话数据共享给App2。参考,像谷歌,我们可以访问所有的谷歌应用程序通过一个单一的登录。
发布于 2018-12-04 10:00:26
这就是一般情况下的逻辑:
当用户登录时,要为此登录分配一个临时令牌。
如果仪表板和app1 be是不同的,db-be将活动令牌传递给app1-be。
或者更好的是,将有一个集中的be来生成会话令牌(请参阅https://www.keycloak.org/和身份管理软件),其中每个人都需要搜索活动令牌。
当用户单击app1仪表板按钮时,BE将他重定向到类似于http://[app1]?token=[hash1234]的东西,其中令牌是用户的登录令牌值。
启动用户的app1前端,读取令牌并将其保存在本地存储中。
当app1调用是通过rest (通常使用角度拦截器)时,每个调用都使用一个标头值(如{authentication: bearer [token value]} )进行签名,其中承载令牌是已登录的令牌。
要验证令牌是否已经有效(很可能是通过调用标识服务器),如果是这样,则授予对被调用资源的访问权限。
请参见JWT身份验证和SSO登录。
https://stackoverflow.com/questions/50761402
复制相似问题