漳浦网站开发,中山服装网站建设,注册公司名称用什么名字好,如何 申请个人网站背景#xff1a;新项目准备用SSO来整合之前多个项目的登录和权限#xff0c;同时引入网关来做后续的服务限流之类的操作#xff0c;所以搭建了下面这个系统雏形。
关键词#xff1a;Spring Gateway, Spring Security, JWT, OAuth2, Nacos, Redis, Danymic datasource, Jav…背景新项目准备用SSO来整合之前多个项目的登录和权限同时引入网关来做后续的服务限流之类的操作所以搭建了下面这个系统雏形。
关键词Spring Gateway, Spring Security, JWT, OAuth2, Nacos, Redis, Danymic datasource, Javax, thymeleaf
如果对上面这些技术感兴趣可以继续往下阅读
如果只对结果感兴趣直接拖到最后看代码
前置知识点
1Nacos安装 Nacos搭建和使用保姆级教程_nacos 搭建_东皋长歌的博客-CSDN博客
2动态数据源配置
Spring 多数据源方法级别注解实现_东皋长歌的博客-CSDN博客 1, 基于网关的权限中台架构 2JWT实现Spring Security
通过JWT实现token的生成、验证、注销token作为全局权限验证的唯一凭证 3OAuth2 认证
0Auth2 有4种内置验证模式实现OAuth2的验证标准从而获得访问资源的token
3.1 密码模式 3.2 客户端模式 3.3 简化模式 3.4 授权码模式 3.5 扩展的手机密码模式 3.6 扩展的手机验证码模式 4RBAC
基于用户角色权限的访问控制设置 5体验验证
注意 全部是通过网关去访问的网关地址为http://你的服务器IP:9200
5.1 简化模式
验证成功之后跳转到指定网页
http://你的服务器IP:9200/oauth/authorize?response_typetokenclient_idphoneredirect_urihttp://www.baidu.comscopeall
5.2 授权码模式
获得授权码然后拿授权码拿token
http://你的服务器IP:9200/oauth/authorize?client_idtestresponse_typecodescopeallredirect_uri百度一下你就知道 6接入步骤
6.1 添加client 6.2 新增应用注册到Nacos
6.3 所有应用都通过网关访问 7代码
https://download.csdn.net/download/wangerrong/88201409?spm1001.2014.3001.5503 8辅助工具
8.1 发送验证码(type1是通过邮箱type2是通过手机短信还没实现因为没钱发短信不过接入进来也很简单)
http://你的服务器IP:9200/auth-api/message/verifycode?phone17621210366type1 9写在最后的也很重要
上面写的比较简单因为中间的坑实在是太多了全网没有一个全面的可用的Spring gatewaySpring SecurityOAuth2 的例子实在是很遗憾在找了N多文档之后才完成了上面的代码。
当然也有一个OAuth2写得比较好的大家可以看看Spring Cloud Security OAuth2.0 开发实战 | 一本册子 真的有两天找资料找的吐血好在是慢慢发现这玩意儿也就那样
希望对大家有帮助
先挖几个坑
1OAuth2 知多少
2JWT 确实很好用
3Spring GatewayOAuth2Spring Security代码解析
4自定义OAuth2认证模式
希望有时间落实下来~ 码字不易记得点赞关注哟