言成言成啊 | Kit Chen's Blog

基于CAS理解单点登录SSO

发布于2024-02-28 20:54:47,更新于2024-03-21 17:20:02,标签:sso cas  文章会持续修订,转载请注明来源地址:https://meethigher.top/blog

一、了解SSO

SSO(Single Sign-On)是一种身份验证和授权机制,允许用户在一次登录后访问多个相关系统或服务,而无需在每个系统中单独进行身份验证。简而言之,用户只需登录一次,就能够访问多个应用或服务,而不需要在每个应用中重新输入用户名和密码。

常见的SSO实现

  • OAuth2.0:OAuth全称为Open Authorization,基本都是说的OAuth 2.0协议,它是一种authorization(授权)协议而非authentication(认证)协议
  • OIDC:OIDC全称为OpenID Connect,是基于OAuth2.0扩展出来的一个协议。除了能够OAuth2.0中的authorization场景,还额外定义了authentication的场景,OIDC协议是当今最为流行的协议。
  • CAS:CAS全称为Central Authentication Server,是一种常见的B/S架构的SSO协议。

二、理解CAS

查阅官方文档,简单理解CAS协议,通过CAS实现单点登录的时序图如下

以上流程通俗的解释就是,在浏览器进行应用访问的时候,如果应用未登录,就会跳转到一个固定的入口,也就是cas server。登录成功后,浏览器就会保存cas server对应的登录成功后的cookie,并且携带ticket去访问实际应用地址,应用再根据ticket进行校验。当下次跳转再跳转到cas server时,由于浏览器已经存储了登录后的cookie了,故不需要再次登录,而是直接携带ticket跳转到应用。

本质

  1. 将所有需要实现单点登录的应用,整合到一个登录入口,登录成功后浏览器会保存cookie并进行跳转到应用地址。
  2. 下次再登录,仍然会跳转到登录入口,由于已经存在有效cookie,登录入口直接跳转应用地址,进而解决了跨域时cookie不互通问题。
发布:2024-02-28 20:54:47
修改:2024-03-21 17:20:02
链接:https://meethigher.top/blog/2024/learn-sso/
标签:sso cas 
付款码 打赏 分享
Shift+Ctrl+1 可控制工具栏