# auth-server **Repository Path**: ilusymon/auth-server ## Basic Information - **Project Name**: auth-server - **Description**: SpringSecurity Oauth2 Server 以及Resources Server。结构清晰,代码洁癖,接口文档详细。自定义授权模式,自定义token头,jdbc, jwt, redis三种token模式,RBAC权限,统一返回格式,全局异常处理等 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-05-10 - **Last Updated**: 2024-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringSecurity, OAuth2 ## README 授权服务器和资源服务器的整合 本系统中将匹配/api/**的接口视为资源,资源配置仅对这些接口进行管理 注意spring security不要对登录授权接口进行限制 功能: - 统一结果返回; - 统一异常处理; - jdbc, jwt, redis三种token模式; - oauth2标准模式+自定义授权模式; - 注解接口验签; - 自定义token提取器; **支持的模式如下:** - authorization_code授权码模式, - refresh_token刷新token - ,implicit简化模式, - password密码模式, - client_credentials客户端模式, - **platform自定义授权模式:** 1. 提供TokenGranter注册在TokenGranterConfig; 2. 实现AuthenticationProvider,匹配相应模式的AuthenticationToken; 3. 将该AuthenticationProvider交给springsecurity管理 ```java @Override public void configure(AuthenticationManagerBuilder auth) throws Exception { auth.authenticationProvider(platformAuthenticationProvider); } ``` 4. 测试接口:http://localhost:8081/oauth/token?client_id=R8T3N8&client_secret=unity&grant_type=platform&platformId=13479497466 返回: ```json { "code": 0, "data": { "access_token": "53744445-69dd-4f3b-892a-aa941865465b", "token_type": "bearer", "refresh_token": "c9ea832b-63fe-4181-879e-6b30481e8609", "expires_in": 30643, "scope": "read" }, "msg": "成功" } ```