SpringBootSecurity学习(16)前后端分离版之 OA…
2019-10-09 09:31:15来源:博客园 阅读 ()
SpringBootSecurity学习(16)前后端分离版之 OAuth2.0 加密配置
示例代码的改进
前面使用spring cloud security和spring cloud oauth2写了一个第三方授权的例子,例子非常的简单,主要目的是用来熟悉OAuth2.0 申请授权的整个流程,这个简单的示例肯定是不能直接用于生产环境的,还有很多需要改进的地方,我们来总结一下:
- 1、只演示了授权码的形式,其它的三种(隐藏式,密码式,客户端凭证)并没有熟悉
- 2、密码和秘钥是未加密的
- 3、oauth的客户端配置,包括id,秘钥等信息是在内存中配置死的,无法动态增加
- 4、token也是放在内存中存储的,无法手动废止
- 5、jwt的生成使用的是简单的秘钥形式,最好使用非对称加密的方式,更加安全可靠
- 6、令牌的申请权限配置不太合理
- 7、资源服务中的jwt和令牌验证配置也不太灵活
- 8、授权流程应该结合eureka开发和使用
- 9、没有验证令牌中继特性,等等等等
从上面列举的问题可以看出,就算示例代码能运行,流程也清楚,但是要学会使用Spring Cloud Security,尤其要在生产环境使用,还需要对每个细节都能掌握和了解才行。
加密配置
首先我们来改进第一个地方,实现加密配置。大家知道用户注册之后,存储用户资料的时候,用户密码在数据库中最好是加密后再保存,同样的道理,oauth的客户端信息最终也是要存储在数据库而不是直接在代码中配置死的,它的secret字段也应该加密后再存储,下面在授权服务中来配置加密,首先修改security配置类,配置加密方式:
然后将登陆用户的密码配置为加密:
然后修改授权配置类,将客户端配置中的secret配置为加密:
这样加密配置就完成了。资源服务不用做任何修改。
测试
配置上面三个加密的地方后,加密就配置好了,下面来测试一下,其实测试流程与前面的一样,客户端感知不到,得到的access_token如下:
最终访问结果如下:
代码地址:https://gitee.com/blueses/spring-boot-security 17 18
原文链接:https://www.cnblogs.com/guos/p/11637644.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 学习Java 8 Stream Api (4) - Stream 终端操作之 collect 2020-06-11
- java学习之第一天 2020-06-11
- Java学习之第二天 2020-06-11
- Spring WebFlux 学习笔记 - (一) 前传:学习Java 8 Stream Ap 2020-06-11
- Linux简单命令的学习 2020-06-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash