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

现在有两个项目,没有放在同一个域下然后我在a项目里登录a项目里用个链接跳转到b项目,并且需要保持b项目的登录状态即b项目可以获取a项目的token现在能想到的只有用localStorage还有sessionStorage可是好像都不是很安全...有什么方法可以保持同步登录吗
慕尼黑8549860
浏览 732回答 2
2回答

翻翻过去那场雪

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

拉莫斯之舞

简单点。登陆成功后,先写入redis,返回一串uuid,然后每次请求都带着这个,如果没有,或跟redis中找不到,则返回请登陆。这样,如果多个项目,则能连上同样的redis集群即可。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript