# 部署图及实现原理
# 部署图
单点登录涉及 sso 认证中心与众子系统,子系统与 sso 认证中心需要通信以交换令牌、校验令牌及发起注销请求,因而子系统必须集成 sso 的客户端,sso 认证中心则是 sso 服务端,整个单点登录过程实质是 sso 客户端与服务端通信的过程,用下图描述

sso 认证中心与 sso 客户端通信方式有多种,HttpClient,WebService、rpc、restful api 都可以
# 实现原理
# SSO Client
- 拦截子系统未登录用户请求,跳转至
sso认证中心 - 接收并存储
sso认证中心发送的令牌 - 与
SSO Server通信,校验令牌的有效性 - 建立局部会话
- 拦截用户注销请求,向
sso认证中心发送注销请求 - 接收
sso认证中心发出的注销请求,销毁局部会话
# SSO Server
- 验证用户的登录信息
- 创建全局会话
- 创建授权令牌
- 与
SSO Client通信发送令牌 - 校验
SSO Client令牌有效性 - 系统注册
- 接收
SSO Client注销请求,注销所有会话