# springcloudAction-JWT-V2 **Repository Path**: geekcheng_admin/springcloudAction-JWT-V2 ## Basic Information - **Project Name**: springcloudAction-JWT-V2 - **Description**: springcloudAction-JWT-V2 oauth2.0+jwt (采用对称加密) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2019-06-19 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README > 2018/11/18初始化 > 2018/11/21更新 采用对称加密 ## 服务主体介绍 - 1.microservice-base-config【8083】:分布式配置中心,所有配置文件统一管理,如果放在git或svn可结合spring cloud bus 动态更新配置文件【配置除base服务以外的服务】 - 2.microservice-base-turbine【8081】:聚合监控 - 3.microservice-base-admin【8082】 :监控管理平台(也可以将turbine聚合进来) - 4.microservice-base-eureka【8080】:注册中心 - 5.microservice-base-gateway【8084】:网关(统一请求入口) - 6.microservice-base-zipkin【8085】:链路追踪 - 7.microservice-base-oauth【8086】:认证服务(oauth2.0+jwt) - 8.microservice-base-log【8087】:日志服务(记录重要操作日志,base服务以外的服务,日志发送到---->rabbitmq-logstash进行数据统计---->持久化到elasticsearch便于可视化分析日志) - 9.microservice-user【8090】:用户服务 - 10.microservice-blog【8089】:博客服务 ## 服务启动顺序 - 先启动microservice-base-eureka, - 在启动microservice-base-config, - 在启动microservice-base-gateway, - 在启动microservice-base-oauth, - 在启动microservice-user。 - 在启动microservice-blog。 - 其他的暂可以不启动 ## 第一种(不走网关) 1.调用登录接口 Request URL:http://localhost:8090/userservice/login Request Body: ~~~ { "account":"110112", "password":"123456" } ~~~ 后台处理逻辑: 先查询数据校验用户基本信息 校验用通过调用microservice-base-oauth(Feign)获取token 2.获取用户基本信息 a.直接通过access_token Request URL:http://localhost:8090/userservice/user?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiYXBpIl0sImV4cCI6MTU0MjU4MTQ4MiwidXNlcl9uYW1lIjoiMTEwMTEyIiwianRpIjoiMzQ5Mzc5N2YtNTYxNi00ODc2LThmYTEtZmRiMDQ5YTcxNTliIiwiY2xpZW50X2lkIjoiY2xpZW50XzIiLCJzY29wZSI6WyJzZXJ2ZXIiXX0.HhEkWQBhsFso6biXykTUdsGh6fvHAW87O1UYJexEdi8 b.token放在Header key value Authorization Bearer {access_token} 注意:value 前必须加Bearer,否则401 ## 第二种(走网关),通过网关进行路由 注意需要在microservice-base-gateway-dev.properties修改对应敏感头信息 1.登录 Request URL:http://localhost:8084/user-api/userservice/login Request Body: ~~~ { "account":"110112", "password":"123456" } ~~~ Response Body: token信息 2.获取用户信息(方法一) Request URL:http://localhost:8084/user-api/userservice/user?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiYXBpIl0sImV4cCI6MTU0MjU4MjI3MCwidXNlcl9uYW1lIjoiMTEwMTEyIiwianRpIjoiMWNmOWQ3NTgtNTY0Ny00YzM4LThjZmUtNWI5OTBhZWM0Mzc3IiwiY2xpZW50X2lkIjoiY2xpZW50XzIiLCJzY29wZSI6WyJzZXJ2ZXIiXX0.wPo4G0-EYNewtWStTt3fV6ljLU1wRi1pi89hy2FAEd0 Response Body: 张三 3..获取用户信息(方法二) Request URL:http://localhost:8084/user-api/userservice/user Request Header: "Authorization" "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiYXBpIl0sImV4cCI6MTU0MjgwNzE2NCwidXNlcl9uYW1lIjoiMTEwMTEyIiwianRpIjoiZmI2ZmUzYjUtNTRhYi00YzBhLTkxYmYtYmNhNzJjMTQxM2JkIiwiY2xpZW50X2lkIjoiY2xpZW50XzIiLCJzY29wZSI6WyJzZXJ2ZXIiXX0.MdfcA-6DxLrPn3EzRz03eqQGAMWbNhe7sGseAAD2-SQ" Response Body: 张三 4.博客服务测试 Request URL:http://localhost:8084/blog-api/blogservice/blog Request Header: "Authorization" "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiYXBpIl0sImV4cCI6MTU0MjgwNzE2NCwidXNlcl9uYW1lIjoiMTEwMTEyIiwianRpIjoiZmI2ZmUzYjUtNTRhYi00YzBhLTkxYmYtYmNhNzJjMTQxM2JkIiwiY2xpZW50X2lkIjoiY2xpZW50XzIiLCJzY29wZSI6WyJzZXJ2ZXIiXX0.MdfcA-6DxLrPn3EzRz03eqQGAMWbNhe7sGseAAD2-SQ" Response Body: 测试博客服务器 4.在博客服务中通过Feign调用用户服务[这里采坑了] > 采坑是因为,用户服务需要认证,所以在博客服务调用用户服务的时候,需要将token继续往下传。(具体怎么做的代码里面是通过Fegin拦截器实现的) > 也可以不传,在用户服务里面设置调用白名单 Request URL:http://localhost:8084/blog-api/blogservice/user Request Header: "Authorization" "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiYXBpIl0sImV4cCI6MTU0MjgwNzE2NCwidXNlcl9uYW1lIjoiMTEwMTEyIiwianRpIjoiZmI2ZmUzYjUtNTRhYi00YzBhLTkxYmYtYmNhNzJjMTQxM2JkIiwiY2xpZW50X2lkIjoiY2xpZW50XzIiLCJzY29wZSI6WyJzZXJ2ZXIiXX0.MdfcA-6DxLrPn3EzRz03eqQGAMWbNhe7sGseAAD2-SQ" Response Body: 张三 #### 参与贡献 1. Fork 本项目 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)