单点登录方案设计

单点登录的本质是:同一个用户只需要授信一次组织下的多个系统中的某一个子系统,授信一次过后服务端和客户端在通讯条件下达成用户登录资源生命周期的一致性,并且可以以用户主动发起方式和服务端主动方式销毁指定用户的当前登录状态下会话。

需求背景:企业服务平台

先来看有哪些需要登录的业务系统和客户端系统

技术框架选型


Redis:分布式存储JWT-Token


Tomcat:作为Servlet服务,管理无状态HTTP服务


WebSocket:建立长链接,支持移动端扫码登录


浏览器:将token存储在Cookie,有效期与Server端保持一致。第一个授信系统登录时服务端会将用户认证一次,认证成功会将Token信息放入Redis里面,与此同时会将Token信息放入Cookie,并同步设置Token失效期,(比如五分钟),授信一次就会传播登录信息到各个相互信任的子系统,同一个浏览器之间的传播方式是Cookie或者SessionStorage等传播方式,移动端之间的传播方式可以是拿到本地存储权限之后,再共享Token进行免登录,或者存储的煤价载体是SQL-lite等。


第三方认证登录也同理,只不过认证之前需要先通过第三方认证,然后再进入统一认证中心

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容