ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

单点登录的过程理解

2021-10-27 21:01:59  阅读:127  来源: 互联网

标签:单点 登录 server sso 理解 cookie com 服务端


单点登录服务

单点登录(Single Sign On),简称为 SSO,是比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。单点登录的重点不在登录一次,在于怎么将用户验证统一化管理,统一登录,统一登出。

SSO服务器

是负责管理全局会话的服务器,假设现在服务是c.com

子系统

子系统假设是整个系统的子应用模块,例如a.com,内部植入的有SSO服务的sso-client,这个sso-client与sso-server沟通完成统一管理登录状态。

登录过程

  • 在访问系统1的请求中,因为请求中没有携带a.com的cookie,所以系统认为没有用户登录,这时候系统1的server端向sso-server发送一个参数为a.com的请求
  • 在这个请求中c.com的服务端也就是sso-server发现没有携带c.com的cookie,返回一个登录页面,在这个页面中用户完成登录之后,服务端通过sso-client告知a.com的server端登录完成并且将令牌返回,这时候客户端重定向回a.com的客户端,向a.com的server端请求时返回一个注入cookie的页面,a.com的页面后续请求都将携带cookie并且能通过a.com服务的验证
  • 访问b.com的服务端,发现没有对应的cookie,然后b.com的服务端告知将页面重定向到c.com的客户端网页,此时c.com的请求已经携带cookie了,并且通过验证后告知了b.com的服务端再将页面重定向回b.com的网页,b.com的网页也将被服务端注入一个自己的令牌,b.com后续的请求都将携带cookie并且通过b.com服务的验证

注销登录过程

  • 注销主要问题在于怎么通知每一个子服务退出登录,每一个子服务的登录失效都由sso-server控制,a.com、b.com在对方执行了登出操作后想要得知这一消息,就需要与sso-server沟通,这个可以是sso-server主动通知,也可以是子系统再次访问时才能获悉(例如每次子系统的请求都向sso-server请求验证一次)

标签:单点,登录,server,sso,理解,cookie,com,服务端
来源: https://blog.csdn.net/weixin_44043130/article/details/120836739

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有