spring security oauth2 教程

理解OAuth 2.0

http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html

OAuth 2.0基本概念和运作流程

https://segmentfault.com/a/1190000013467122 

架构图

验证流程

spring security oauth2源码架构图

绿色的代表实体类,蓝色的代表接口方法

描述:
从request的请求头中拿到Authorization信息,根据clientId获取到secret和请求头中的secret信息做对比,如果正确,组建一个新的TokenRequest类,然后根据前者和clientDetails创建OAuth2Request对象,然后根据前者和authentication创建OAuth2Authentication对象。最后通过AuthorizationServerTokenServices和前者前者创建OAuth2AccessToken对象。然后将token返回。
提示:
密码授权,我们在请求token的时候,需要一个包含clientid和clientSecret的请求头还有三个参数。

  1. 请求头:Authorization -> Basic aW50ZXJuZXRfcGx1czppbnRlcm5ldF9wbHVz 。注意是Basic 开头然后是clientid:clientScret 格式进行base64加密后的字符串。
  2. 请求参数:username和password是必须要的参数,值对应的就是账号密码,还有给可有可无的就是scope,它来声明该用户有多大的权限,默认是all。grant_type也是默认的参数,默认是password,它表示你以哪种认证模式来认证。

请求头解密如下图:

 

Spring Cloud下基于OAUTH2认证授权的实现 

 https://blog.csdn.net/qq_34490951/article/details/79930270

 

OAUTH2流程:主要的类和接口

https://www.cnblogs.com/study-everyday/p/7754824.html

 

Token持久化,redis存储token

https://blog.csdn.net/u014730165/article/details/83501594

https://www.jianshu.com/p/4754ea8f86d6

获取token/刷新token流程

https://blog.csdn.net/bluuusea/article/details/80284458

 

TokenGranter与对应的授权模式

https://www.jianshu.com/p/6809313a3f3e

TokenServices

https://www.jianshu.com/p/1fba33b26976

Principal对象

https://blog.csdn.net/flowingflying/article/details/74837413

 

Oauth2通过JdbcClientsDetailService从数据库读取相应的数据

https://www.cnblogs.com/charlypage/p/9383420.html

 

最详细的Spring Boot OAuth2.0密码模式服务器实现

https://blog.csdn.net/qq_34873338/article/details/80218212

 

Spring Cloud Oauth集成短信登录及第三方登录

https://segmentfault.com/a/1190000014371789

https://blog.yoodb.com/yoodb/article/detail/1505

1.流程思路:通过拦截器IntegrationAuthenticationFilter拦截所有oauth/token请求,根据类型参数(参数名:auth_type)匹配对应认证器(在所有继承AbstractPreparableIntegrationAuthenticator类中调用support方法筛选),在匹配的成功的认证器调用authenticate方法执行用户认证处理。
2.扩展其他登录方式只要实现自定义的IntegrationAuthenticator就好了。

 

不错的系列文章:

Re:从零开始的Spring Security Oauth2(一)

https://blog.csdn.net/u013815546/article/details/76898524

Re:从零开始的Spring Security Oauth2(二)

https://blog.csdn.net/u013815546/article/details/76977239

Re:从零开始的Spring Security Oauth2(三)

https://blog.csdn.net/u013815546/article/details/77046453

 

oauth2四种授权方式小结

https://juejin.im/post/5a2933a96fb9a0452a3c3988

使用spring-security-oauth2作为client实现

https://juejin.im/post/5a27a011f265da43133d0622

spring security oauth2 implicit模式

https://juejin.im/post/5a26b9146fb9a0450002ea3e

spring security oauth2 authorization code模式

https://juejin.im/post/5a24fda7f265da431d3c8367

spring security oauth2 password授权模式

https://juejin.im/post/5a23a44c5188254dd9363807

spring security oauth2 client_credentials模式

https://juejin.im/post/5a22cbba5188252754102173

解决spring security自定义filter重复执行问题

https://juejin.im/post/5a1b771251882575cb73d102

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值