权限认证:SSO单点登录

98人浏览

什么是单点登录

SSO(Single Sign On)是处理一个公司内的不同应用系统之间的登录问题,比如阿里巴巴旗下有很多应用系统,我们只需要登录一个系统就可以实现不同系统之间的跳转。

为了完成一个简单的SSO功能,需要两个部分的合作: 

  • 统一的身份认证服务。 
  • 每个应用都通过这个统一的认证服务来进行身份校验。

SSO 实现原则

1、所有的认证登录都在 SSO 认证中心进行;
2、SSO 认证中心通过一些方法来告诉 Web 应用当前访问用户究竟是不是已通过认证的用户;
3、SSO 认证中心和所有的 Web 应用建立一种信任关系,也就是说 web 应用必须信任认证中心。

SSO实现机制

sso-client
1、拦截子系统未登录用户请求,跳转至sso认证中心;
2、接收并存储sso认证中心发送的令牌;
3、与sso-server通信,校验令牌的有效性;
4、建立局部会话;
5、拦截用户注销请求,向sso认证中心发送注销请求;
6、接收sso认证中心发出的注销请求,销毁局部会话。
  
sso-server
1、验证用户的登录信息;
2、创建全局会话;
3、创建授权令牌;
4、与sso-client通信发送令牌;
5、校验sso-client令牌有效性;
6、系统注册;
7、接收sso-client注销请求,注销所有会话。

SSO实现方案

基于JWT

共享Session

基于OpenId

基于CAS