sso单点登录原理
参考:https://www.cnblogs.com/EzrealLiu/p/5559255.html
多系统单点登录:
登录:
1.用户访问系统1的受保护资源,系统1发现用户未登录,跳转到sso认证中心,并将自己的地址作为参数;
2.sso认证中心发现用户未登录,跳转至登录页面;
3.用户输入用户名和密码,提交登录申请,跳转到sso认证中心;
4.sso认证中心校验用户信息,创建用户与认证中心之间的会话(全局会话),同时创建授权令牌(可以是随机生成,不伪造的字符串,如uuid);
5.sso带着授权令牌,访问最初的系统1地址;
6.系统1拿到令牌,去sso认证中心校验令牌是否有效;
7.sso认证中心校验令牌,返回有效,注册系统1;
8.系统1使用令牌创建与用户的会话(局部会话),返回受保护资源;
9.用户访问系统2受保护资源;
10.系统2发现用户未登录,跳转到sso认证中心,并将自己的地址作为参数;
11.sso认证中心发现用户已登录,跳转到系统2的地址,并附上授权令牌;
12.系统2拿到令牌,去sso认证中心校验令牌是否有效;
13.sso认证中心校验令牌,返回有效,注册系统2;
14.系统2使用令牌创建与用户的局部会话,访问受保护资源。
注销:
1.用户在系统1发起注销请求;
2.系统1根据与用户创建的会话id拿到令牌,向sso认证中心发起注销请求;
3.sso认证中心校验令牌是否有效,销毁全局会话,同时取出由这个令牌组成的所有系统地址;
4.sso认证中心向所有系统发起注销请求;
5.各系统收到注销请求,销毁局部会话;
6.sso认证中心引导用户跳转至登录页面。