lym aa9d8a8402 Spring Boot 3.2.x 5 months ago
..
img 9d22c83583 feat(uaa): 新增用户认证授权中心 4 years ago
uaa-api 46fa6d9119 compile success base on jdk17, spring boot 3.x, shoulder 0.8 6 months ago
uaa-core 46fa6d9119 compile success base on jdk17, spring boot 3.x, shoulder 0.8 6 months ago
uaa-infrastructure ee9790c34e dev 6 months ago
uaa-modules ee9790c34e dev 6 months ago
uaa-provider 482dec0a41 feat(uaa): 调整模块名 4 years ago
uaa-reference 482dec0a41 feat(uaa): 调整模块名 4 years ago
uaa-start aa9d8a8402 Spring Boot 3.2.x 5 months ago
uaa-web 482dec0a41 feat(uaa): 调整模块名 4 years ago
CHANGELOG.MD 9d22c83583 feat(uaa): 新增用户认证授权中心 4 years ago
README.md 1c149f6520 feat(version): shoulder 0.5->0.6 SNAPSHOT,ddl update 3 years ago
pom.xml b86fa9d28b shoulder framework 0.8 7 months ago

README.md

shoulder-user-center

基于 Spring Security 的 Oauth2 认证授权中心,可作为单点登录服务器。

工程目录结构:

目录结构

认证流程

  • 请求通过网关,抵达网关,网关根据认证凭证(session/token)判断该请求是否已经通过认证(登陆过),
    • 未认证
      • 非登录/注册相关请求
        • (根据租户标识等)重定向到某个登录界面(如默认门户)
      • 登录相关请求
        • 转发给认证授权中心,处理请求
    • 已经认证过
      • 根据认证凭证向登录会话管理中心获取当前用户
        • 获取到(凭证有效)
          • 进行风控过滤
            • 通过,将用户信息放置于请求头中,放行
            • 未通过,风险识别、记录,执行预置策略,如返回特定信息
        • 未获取到
          • 认为凭证过期,重定向到 会话过期页面 或直接跳转到 登录页面

扩展

单点登录 SSO

SSO 是一种思想,或者说是一种抽象的解决方案,可以通过它实现:用户可以无感知地在不同系统间访问受保护资源,而不必因访问不同系统而登录不同的账号。

sso

(图片来源于网络,侵删)

由于 SSO 并没有强制要求使用者如何实现认证,因此,可以通过不同的手段来达到该墓地,比如可以通过 Oauth2、JWT、Session 等。

Oauth2