为了账号安全,请及时绑定邮箱和手机立即绑定

如何保持两个项目的同步登录?

如何保持两个项目的同步登录?

慕尼黑8549860 2019-05-24 10:32:34
现在有两个项目,没有放在同一个域下然后我在a项目里登录a项目里用个链接跳转到b项目,并且需要保持b项目的登录状态即b项目可以获取a项目的token现在能想到的只有用localStorage还有sessionStorage可是好像都不是很安全...有什么方法可以保持同步登录吗
查看完整描述

2 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

单点登录(SSO,SingleSignOn),也就是说你要把登录逻辑抽离出来,成为一个独立的服务。
SSO需要一个独立的认证中心,只有认证中心能接受用户的用户名密码等安全信息,其他系统不提供登录入口,只接受认证中心的间接授权。间接授权通过令牌实现,SSO认证中心验证用户的用户名密码没问题,创建授权令牌,在接下来的跳转过程中,授权令牌作为参数发送给各个子系统,子系统拿到令牌,向SSO验证通过后即授权完成,可以创建局部会话,局部会话登录方式与单系统的登录方式相同。
大致原理是这样,具体实现可以搜索下SSO相关的知识。
                            
查看完整回答
反对 回复 2019-05-24
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

简单点。登陆成功后,先写入redis,返回一串uuid,然后每次请求都带着这个,如果没有,或跟redis中找不到,则返回请登陆。这样,如果多个项目,则能连上同样的redis集群即可。
                            
查看完整回答
反对 回复 2019-05-24
  • 2 回答
  • 0 关注
  • 731 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信