sso 单点登录
- 同域下的单点登录
Cookie 的域设置为顶级域
- 单点登录
单点登录的原理与简单实现
a. 用户访问系统1的受保护资源,系统1发现用户未登录,跳转到sso认证中心,并将自己的地址作为参数
b. sso认证中心发现用户未登录,将用户引导至登录页面
c. 用户输入用户名密码,提交登录申请,
d. sso认证中心校验用户信息,创建用户与sso认证中心之间的会话,称为全局会话,同时创建授权令牌
e. sso 认证中心带着令牌跳转会话最初请求地址
f. 系统1拿到令牌,去sso认证中心校验令牌是否有效
g. sso 认证中心校验令牌,返回有效,注册系统1
h. 系统使用该令牌创建与用户的会话,称为局部会话,返回受保护资源
i. 用户访问系统2的受保护资源
j. 系统2发现用户没有登录,跳转到sso认证中心,并将自己的地址作为参数
k. sso 认证中心发现用户已经登录,跳转会系统2的地址,并附上令牌
l. 系统2拿到令牌,去sso认证中心校验令牌是否有效
m.sso认证中心校验令牌,返回有效,注册系统2
n. 系统2使用该令牌创建与用户的局部会话,返回受保护资源

单点注销
- 用户向系统1发起注销请求
- 系统1根据用户与系统1建立的会话id拿到令牌,向sso认证中心发起注销请求
- sso认证中心校验令牌有效。销毁全局会话,同时取出所有用此令牌注册的系统地址
- sso认证中心向所有系统发起注销请求
- 各注册系统接受sso认证中心的注销请求,销毁局部会话
- sso认证中心引导用户至登录页面
本文详细解析了SSO单点登录的工作流程,包括用户如何通过全局会话和局部会话在多个系统间无缝切换,以及单点注销的实现机制。
743

被折叠的 条评论
为什么被折叠?



