单点登录是大型架构的基石,下面我重点详解单点登录技术@mikechen
单点登录
单点登录(Single Sign-On,简称 SSO), 是一种身份验证和授权技术。
单点登录核心,就是“一次登录,处处通行”。
例如,你登录了阿里巴巴旗下的淘宝,在不退出账号的情况下,你也可以直接访问天猫、阿里云等其他子系统。
而无需再次登录,这极大地提升了用户体验、和工作效率。
单点登录原理
单点登录原理,涉及以下步骤:
首先,用户首次访问某个需要身份验证的应用程序或系统,该系统将用户重定向到身份提供商(IdP)进行认证。
然后,用户在身份提供商处输入登录凭证(用户名、密码等)。
身份提供商验证成功后,颁发一个身份验证令牌(Token),内含用户身份信息。
最后,用户携带该令牌重定向回原始应用程序,应用程序验证令牌合法后,允许用户访问。
当用户访问其他需要身份认证的系统时,这些系统同样信任身份提供商发放的令牌,无需用户重新登录。
单点登录应用场景
单点登录:适用于企业级、互联网平台等领域。
企业内部系统:OA、CRM、HR 系统,员工只需登录一次即可访问多个系统。
互联网平台:社交平台、商城、视频平台,多产品或子系统统一登录。
跨域或多子域系统:微服务架构下,服务之间需要统一身份认证。
第三方账号登录:通过 OAuth2/OpenID Connect 集成 GitHub、微信、支付宝登录,实现 SSO。