关键词:Spring Gateway, Spring Security, JWT, OAuth2, Nacos, Redis, Danymic datasource, Javax, thymeleaf
如果对上面这些技术感兴趣,可以继续往下阅读
如果只对结果感兴趣,直接拖到最后看代码
Nacos搭建和使用保姆级教程_nacos 搭建_东皋长歌的博客-CSDN博客
Spring 多数据源方法级别注解实现_东皋长歌的博客-CSDN博客
通过JWT实现token的生成、验证、注销,token作为全局权限验证的唯一凭证
0Auth2 有4种内置验证模式,实现OAuth2的验证标准,从而获得访问资源的token
基于用户角色权限的访问控制设置
注意: 全部是通过网关去访问的,网关地址为:http://你的服务器IP:9200
验证成功之后,跳转到指定网页
http://你的服务器IP:9200/oauth/authorize?response_type=token&client_id=phone&redirect_uri=http://www.baidu.com&scope=all
获得授权码,然后拿授权码拿token
http://你的服务器IP:9200/oauth/authorize?client_id=test&response_type=code&scope=all&redirect_uri=百度一下,你就知道
https://download.csdn.net/download/wangerrong/88201409?spm=1001.2014.3001.5503
8.1 发送验证码(type=1是通过邮箱,type=2是通过手机短信(还没实现,因为没钱发短信,不过接入进来也很简单))
http://你的服务器IP:9200/auth-api/message/verifycode?phone=17621210366&type=1
上面写的比较简单,因为中间的坑实在是太多了,全网没有一个全面的可用的Spring gateway+Spring Security+OAuth2 的例子,实在是很遗憾,在找了N多文档之后,才完成了上面的代码。
当然也有一个OAuth2写得比较好的,大家可以看看
Spring Cloud Security OAuth2.0 开发实战 | 一本册子
真的有两天,找资料找的吐血,好在是慢慢发现,这玩意儿也就那样!
希望对大家有帮助!
先挖几个坑
1,OAuth2 知多少
2,JWT 确实很好用
3,Spring Gateway+OAuth2+Spring Security代码解析
4,自定义OAuth2认证模式
希望有时间落实下来~
码字不易,记得点赞关注哟!