Spring Security Oauth2.0学习记录

OAuth2资源由过滤链保护,过滤链的顺序为security.oauth2.resource.filter-order。

默认情况下,在过滤器中顺序如下

  • AuthorizationServerConfigurerAdapter
  • ResourceServerConfigurerAdapter
  • WebSecurityConfigurerAdapter

很多文章写的oauth的时候把三者写在同一个工程中,这样变得很难理解。
如果想搞精通spring security 体系建议还是去看官方文档.
那么在理解这全套机制前需要搞清楚几个概念
1、认证授权服务器
2、授权客户端
3、资源服务器
4、资源所有者

授权客户端 相对 认证授权服务器而言得客户端,授权客户端可以在资源服务器上起作用,也可以认为资源服务器就是一个授权客户端。资源所有者即用户。

那么在spring security 体系中之前已经介绍过了spring security体系是通过filter chain 完成了全套得安全体系。spring security中留出来得配置入口为WebSecurityConfigurerAdapter
而Oauth2.0 中需要得两个入口则为AuthorizationServerConfigurerAdapter用于配置认证授权服务器和ResourceServerConfigurerAdapter用户配置资源服务器。
那么显而易见。你需要保护得资源上配置ResourceServerConfigurerAdapter即可,如你得订单中台,财务中台、商品中台,全部都可以配上ResourceServerConfigurerAdapter。而你得认证授权中台 配置AuthorizationServerConfigurerAdapter即可。
对于上面描述得三个Adapter都有相似之处,就是他们得处理流程都是一致得。

  • WebSecurityConfigurerAdapter中你可以去扩展认证器,实现UserdetailService 接口,重写loadUserByUsername,然后实现AuthenticationProvider。当然你可以使用默认得。
  • AuthorizationServerConfigurerAdapter 一样得流程你可以实现ClientDetailService ,重写loadClientByClientId 然后实现OAuth2AuthenticationManager 重写认证方法进行认证。
  • ResourceServerConfigurerAdapter中 实现OAuth2ProtectedResourceDetails接口实现其中方法。

总体而言如果能理解以上这几个点。基本上就能使用spring security体系了。单然其中还会涉及到

  • token得生成
  • 添加验证码
  • token存储
  • 密码加密
  • 登出注销
  • 权限控制
  • 自定义fliter
  • json返回
  • 异常处理

一系列得功能,我这边不多做介绍,仅仅记录下自己学习过程中感觉最重要得点。如果你想了解更多可以去看官方文档。但是你只要搞清楚以上三个概念和扩展入口,你会发现这个东西很简单。单然你还要搞清楚Oauth2.0得概念才行。

总而言之,spring security体系做了一件事情就是把你在服务器或者数据库存得数据做了一层抽象,另一边将浏览器或者客户端传过来得资源做了一层抽象,然后将两者按照一定得规则组装到一个管理器里面去做一系列得业务逻辑判断,当然包括此管理器得业务逻辑判断它也做了一层抽象便于你可以自定义。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值