Oath2
基于Token(令牌)机制实现单点登录的技术解决方案
- spring secuirty + CAS
- Oath2.0 +SpringSecurity + JWT
单点登录(Single Sign On): 用户只需要访问一次,就可以访问相互的系统,这种解决方案就是单点登录
角色
- Resouce Owner 资源拥有者/用户本身
- Authorization Server 认证服务器
- ResouceServer 资源服务器
- Client
Oauth2授权模式
- 授权码模式 Authorization Code
- 隐式授权模式 Implicit
- 密码模式 Resouorce Owner Password Credentials
- 客户端模式 Clent Credentials
官方验证流程
- 用户授权请求
- 客户端申请令牌
- 认证服务器颁发令牌给客户端
- 客户带携带令牌去资源服务器获取资源
公钥私钥授权流程
- 私钥加密: 公钥校验
- 公钥加密 私钥解密
Spring Security Oauth2 常用注解
- @EnableOAuth2Client 客户端 用于客户端访问资源服务
- @EnableOAuth2Sso 应用系统,使用远端认证授权服务,替换应用自身的用户登录鉴权security逻辑,实现单点登录
- @EnableAuthorizationServer 认证授权服务 提供用于获取token ,解析token相关功能,实现认证,兽群功能
- @EnableResourceServer 资源服务,提供基于token的资源访问功能