单点登录(SSO,Single Sign On),是在企业内部多个应用系统(如考勤系统、财务系统、人事系统等)场景下,用户只需要登录一次,就可以访问多个应用系统。
同理用户只需注销一次,就可以从多个应用系统退出登录。
简单来说就是,一次登录,全部登录!一次注销,全部注销!!
单点登录的实现原理说明如下:
1. 用户首次访问系统 A 时,需要进行登录。
2. 系统 A 带着用户登录信息重定向给认证系统。
3. 认证系统验证用户登录信息。
4. 验证通过后,返回一个 token
token 类似一种内部的通行证,包含了用户身份信息、登录状态和过期时间,在各个系统间共享。
5. 认证系统带着 token 重定向给系统 A,得知用户是已登录状态。
6. 系统 A 向用户返回请求的资源。
7. 用户访问系统 B 时,需要进行登录。
8. 系统 B 通过共享的 token,得知用户是已登录状态。
9. 系统 B 向用户返回请求的资源。
Token 是有时效性的,如果用户长时间没有操作,token 将会过期。
Token 过期后用户再次访问系统 A、系统 B 时,登录状态已失效,需要重新登录。
对于注销场景,与上述流程类似。
用户主动从系统 A 注销时,系统 A 调用认证系统,清除 token。
此时用户再访问系统 A、系统 B 时,通过共享的 token 得知用户是已注销状态,需要重新登录。
单点登录通过在用户和系统之间引入认证系统。
以往用户需要分别对接各个应用系统进行登录 / 注销,现在用户只需要单独对接认证系统进行登录 / 注销。
登录状态在各个应用系统间共享,体现了把简单留给用户,把复杂留给后台系统的设计理念。极大节省了用户时间,提高了用户体验。
本文来自微信公众号:中兴文档 (ID:ztedoc),作者:中兴文档