单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指,只需要单一的注销动作,就可以结束对于多个系统的访问权限。
Security OAuth2 单点登录流程示意图
- 访问client1
client1
将请求导向sso-server
- 同意授权
- 携带授权码
code
返回client1
client1
拿着授权码请求令牌- 返回
JWT
令牌 client1
解析令牌并登录client1
访问client2
client2
将请求导向sso-server
- 同意授权
- 携带授权码
code
返回client2
client2
拿着授权码请求令牌- 返回
JWT
令牌 client2
解析令牌并登录
用户的登录状态是由sso-server
认证中心来保存的,登录界面和账号密码的验证也是sso-server
认证中心来做的(client1
和clien2
返回token
是不同的,但解析出来的用户信息是同一个用户)。