005 单点登录

单点登录(Single Sign-On,简称SSO)是一种集中式的身份验证和授权机制,用户只需在一处输入一次凭证(例如用户名和密码)就可以访问多个相关但独立的软件系统。

单点登录的核心是身份提供者(Identity Provider,简称IdP)和服务提供者(Service Provider,简称SP)。按照不同的技术手段和实现机制,单点登录的方法主要有以下几类:

  1. 基于父域Cookie:适用于同一个主域名下的多个子域名。通过在主域名设置共享的Cookie,实现跨子域名的单点登录。优点是实现简单,无需额外的认证服务器;缺点是只能在同一主域名下使用,跨域名无法使用。

  2. 基于认证中心:通过独立的认证服务器(认证中心)管理用户的身份验证。优点是支持跨域名的单点登录,安全性高,集中管理用户认证逻辑;缺点是实现复杂,需要维护独立的认证中心。典型框架有CAS(Central Authentication Service)、OAuth2、SAML(Security Assertion Markup Language)等。

  3. 基于令牌(Token):通过使用令牌(如JWT)进行身份验证和授权。优点是无需依赖Cookie,适用于移动应用和SPA(单页面应用),跨域名支持良好;缺点是令牌的安全存储和管理需要特别注意。

  4. 基于浏览器的LocalStorage和跨域消息传递:利用浏览器的LocalStorage和跨域消息传递(Cross-Origin Messaging)实现单点登录。优点是可以实现跨域名的单点登录,无需依赖Cookie;缺点是安全性较低,LocalStorage中的数据容易被恶意脚本访问,实现较为复杂。

  5. 基于反向代理(https://baike.baidu.com/item/反向代理):使用反向代理服务器统一处理用户认证,代理服务器在后端各个应用之间共享用户身份信息。优点是可以集中管理认证逻辑和安全策略,跨应用实现简单;缺点是依赖代理服务器的性能和可靠性。

综上所述,单点登录是一种方便用户访问多个系统的身份验证机制,其多种实现方式各有优缺点,可根据具体需求和应用环境选择合适的方案。

相关推荐
一叶轻舟随风行6 天前
soular全面介绍(2) - 统一管理TikLab帐号
单点登录·账号管理中心·统一登录
一叶轻舟随风行7 天前
soular全面介绍(1) - 安装、配置
单点登录·统一登录·开源账号管理工具
一叶轻舟随风行12 天前
sward实战教程系列(15) - sward与soular相关联,实现统一登录
单点登录·sso·统一登录·账号中心管理工具
一叶轻舟随风行14 天前
soular实战教程系列(8) - 集成企业微信用户并实现登录
单点登录·sso·统一登录·账号中心管理工具
扫地僧过江南23 天前
soular实战解读(1) - 如何统一管理TikLab帐号体系
单点登录·账号管理中心·统一登录·crowd
一叶轻舟随风行1 个月前
soular实战教程系列(1) - 安装与配置
统一认证·单点登录·sso·账号管理中心·统一登录·crowd
扫地僧过江南1 个月前
soular零基础学习,如何通过工作台聚合TikLab所有工具链
单点登录·sso·统一登录·crowd
扫地僧过江南1 个月前
soular零基础学习,如何实现TikLab工具链统一登录认证
单点登录·sso·统一登录·crowd
自由鬼8 个月前
开源身份和访问管理(IAM)解决方案:Keycloak
服务器·数据库·安全·开源·身份认证·单点登录