单点登录涉及 sso
认证中心与众子系统,子系统与 sso
认证中心需要通信以交换令牌、校验令牌及发起注销请求,因而子系统必须集成 sso
的客户端,sso
认证中心则是 sso
服务端,整个单点登录过程实质是 sso
客户端与服务端通信的过程,用下图描述
sso
认证中心与 sso
客户端通信方式有多种,HttpClient
,WebService
、rpc
、restful api
都可以
- 拦截子系统未登录用户请求,跳转至
sso
认证中心 - 接收并存储
sso
认证中心发送的令牌 - 与
SSO Server
通信,校验令牌的有效性 - 建立局部会话
- 拦截用户注销请求,向
sso
认证中心发送注销请求 - 接收
sso
认证中心发出的注销请求,销毁局部会话
- 验证用户的登录信息
- 创建全局会话
- 创建授权令牌
- 与
SSO Client
通信发送令牌 - 校验
SSO Client
令牌有效性 - 系统注册
- 接收
SSO Client
注销请求,注销所有会话