idea搭建springcloud项目_SpringCloud搭建的认证中心和资源服务器的微服务项目源码分享

本项目基于spring-cloud-starter-oauth2搭建的认证中心和资源服务器的微服务项目,项目不仅仅简单的demo,项目的出发点在于实战应用。本项目为笔者花了不少时间和精力整理出来的,只需要稍微调整就可应用于实际项目当中,并且项目包含大量注释,不仅可以让你会用,也可让你了解到一些流程、一些原理上的东西。认证中心完成密码模式、授权码模式、刷新token模式、简化模式、以及自定义的手机号验证码模式。

项目源码获取方式:关注后转发一下,后台私信回复【源码】即可免费获取到

功能

- 密码模式- 自定义手机验证码模式- 授权码模式- 简化模式- 刷token模式- 退出测试接口- 简单授权页面- 不需要accessToken测试接口- 需要accessToken测试接口- 需要特定权限测试接口- scope测试接口

开发环境

  • JDK 1.8 +
  • Maven 3.5 +
  • IntelliJ IDEA ULTIMATE 2018.2 + (注意:建议使用 IDEA 开发,同时保证安装 lombok 插件,如果是eclipse也要确保安装了lombok 插件)
  • Redis 3.0 +

认证验证流程

这里简单做下密码模式的认证和accessToken验证流程,手机号模式跟这个类型,授权码模式和简化模式稍微有点不一样,授权码模式和简化模式都是先跳到认证中心的授权页面,授权成功后回调回调地址,并且携带参数code或accessToken。

001cb95292048aebb8c0170cb579af56.png

认证中心核心代码

8282cdad9c26b2bd8b140ea78100c4c7.png

部分源代码

1c1e2ab6c701e71e6e6dcc1ac42a03b4.png

postman接口测试截图

客户端Basic请求头

这里两种方式都是一样的,eWFvaHc6eWFvaHc=其实就是yaohw:yaohw,经过base64加密了一下

0d9f10bf72ea5e8ae09d2e6b71f81813.png
b8cf9bfa75ea860000dd6d65bd235db0.png

密码模式

0bd833aafef46f56d9552f073bc7d792.png

自定义手机号验证码模式

注意:需要在redis中设置一个缓存,String类型,key为sms:code:你的手机号,值为短信验证码

d04122789b98429dc2380ff7ac32bdc7.png
41ddb83dcbf471d21d1abb31aaba483c.png

授权码模式

授权码模式步骤一

授权码模式步骤一 会跳转到认证中心的授权页面,这里为方便展示参数才用postman,get请求,应在浏览器直接打开(带对应参数),授权成功后会回调回调地址,并且会携带code。

628f53e8201453044bbcd168d6c45202.png

授权码模式步骤二(授权页面授权)

e4139cabddf4e60920e54cd73cef7d70.png

授权码模式步骤三(获取code)

453f7a5ecaed3eb23762c3bef6d458c1.png

授权码模式步骤四(根据code获取token)

fbd1b0ce8eedd7b5a5a68bed1e5e692e.png

简化模式

与授权码模式类似,不过回调后携带的参数不是code,还是access_token,比授权码模式少了一步.

步骤一

简化模式步骤一会跳转到认证中心的授权页面,这里为方便展示参数才用postman,get请求,应在浏览器直接打开(带对应参数),授权成功后会回调回调地址,并且会携带accessToken。

7b42048297ac98efbe63b74a7abb3ae2.png

步骤二(授权页面授权)

e4139cabddf4e60920e54cd73cef7d70.png

步骤三

73f4a09ef045a403829aa4f3d4bfc31b.png

刷新token模式

8471207f8d4c37bb717089f94aa8418f.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值