shoulder-user-center
基于 Spring Security 的 Oauth2 认证授权中心,可作为单点登录服务器。
工程目录结构:
认证流程
- 请求通过网关,抵达网关,网关根据认证凭证(session/token)判断该请求是否已经通过认证(登陆过),
- 未认证
- 非登录/注册相关请求
- (根据租户标识等)重定向到某个登录界面(如默认门户)
- 登录相关请求
- 已经认证过
- 根据认证凭证向登录会话管理中心获取当前用户
- 获取到(凭证有效)
- 进行风控过滤
- 通过,将用户信息放置于请求头中,放行
- 未通过,风险识别、记录,执行预置策略,如返回特定信息
- 未获取到
- 认为凭证过期,重定向到 会话过期页面 或直接跳转到 登录页面
扩展
单点登录 SSO
SSO
是一种思想,或者说是一种抽象的解决方案,可以通过它实现:用户可以无感知地在不同系统间访问受保护资源,而不必因访问不同系统而登录不同的账号。
(图片来源于网络,侵删)
由于 SSO
并没有强制要求使用者如何实现认证,因此,可以通过不同的手段来达到该墓地,比如可以通过 Oauth2、JWT、Session 等。
Oauth2