# spring-security-oauth-study **Repository Path**: sssdeku/spring-security-oauth-study ## Basic Information - **Project Name**: spring-security-oauth-study - **Description**: spring security + auth2.0 +jwt 练手项目 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 66 - **Created**: 2021-01-19 - **Last Updated**: 2022-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 使用手册 ## change log | tag version | change logs | date | | --- | --- | --- | | v6.0.0 | 1.扩展用户信息到jwt令牌
2.资源服务上下文保存和取出用户信息 | 2021-01-14 | | v5.0.0 | 1.新增eureka注册中心服务register-server
2.新增网关服务gateway-server
3.修改资源服务,移除OAuth2.0以及JWT依赖和相关配置
4.实现初版分布式认证和鉴权功能 |2020-01-13| | v4.0.0 | 1.使用jwt令牌功能
2.客户端信息保存到数据库,用户授权码保存到数据库
3.新增common模块保存公共功能| 2020-01-11 | | v3.0.0 | 1. 新增资源服务,可进行接口测试
2. 修改了auth-center/docs/sql/init.sql | 2020-01-10 | | v2.0.0 | 实现自定义登陆页面、自定义授权页面 | 2021-01-07| | v1.0.0 | 实现初版认证服务器,可进行接口测试
遗留问题:
1. 登录页面加载速度太慢
2. 授权页面太丑 | 2021-01-07 | ## 文章介绍 > [Spring Security OAuth2.0认证授权一:框架搭建和认证测试](https://blog.kdyzm.cn/post/24) > > [Spring Security OAuth2.0认证授权二:搭建资源服务](https://blog.kdyzm.cn/post/25) > > [Spring Security OAuth2.0认证授权三:使用JWT令牌](https://blog.kdyzm.cn/post/26) > > [Spring Security OAuth2.0认证授权四:分布式系统认证授权](https://blog.kdyzm.cn/post/30) > > [Spring Security OAuth2.0认证授权五:用户信息扩展到jwt](https://blog.kdyzm.cn/post/31) ## 项目介绍 ### 1. 模块介绍 | 模块名 | 模块介绍 | | --- | ---| | [auth-server](auth-server) | 认证服务 | | [resource-server](resource-server)| 资源服务| | [register-server](register-server)| 注册中心服务| | [gateway-server](gateway-server)| 网关服务 | | [common](common) |公共模块,保存公共功能| ### 2.服务启动顺序 项目启动前务必先执行 [auth-server/docs/sql/init.sql](auth-server/docs/sql/init.sql) 脚本。 项目启动顺序: 1. register-server 2. gateway-server 3. auth-server 4. resource-server ### 3.项目测试方法 **第一步,获取token** 这里使用password模式直接获取token,POST请求如下接口: [http://127.0.0.1:30000/oauth/token?client_id=c1&client_secret=secret&grant_type=password&username=zhangsan&password=123](http://127.0.0.1:30000/oauth/token?client_id=c1&client_secret=secret&grant_type=password&username=zhangsan&password=123) 即可获取token。 **第二步,访问资源** 通过网关请求资源服务的r1接口,GET请求如下接口: [http://127.0.0.1:8761/r1](http://127.0.0.1:8761/r1) 需要带上Header,key为`Authorization`,value格式如下: ``` text Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzMSJdLCJ1c2VyX25hbWUiOiJ6aGFuZ3NhbiIsInNjb3BlIjpbIlJPTEVfQURNSU4iLCJST0xFX1VTRVIiLCJST0xFX0FQSSJdLCJleHAiOjE2MTAzNzI5MzUsImF1dGhvcml0aWVzIjpbInAxIiwicDIiXSwianRpIjoiOWQzMzRmZGMtOTcwZC00YmJkLWI2MmMtZDU4MDZkNTgzM2YwIiwiY2xpZW50X2lkIjoiYzEifQ.gZraRNeX-o_jKiH7XQgg3TlUQBpxUcXa2-qR_Treu8U ``` 如果相应结果如下,则表示测试通过 ``` 访问资源r1 ``` 否则,会返回401状态码。