Spring cloud oauth2.0 源码学习

扫码关注公众号:Java 技术驿站

发送:vip
将链接复制到本浏览器,永久解锁本站全部文章

【公众号:Java 技术驿站】 【加作者微信交流技术,拉技术群】

一、源码结构:

20191020200314\_1.png

client 复杂应用客户端的管理

common 公共类

config 配置层

http.converter 转换层

provider 复杂管理认证服务器和资源服务器

1、client包:

2019102020036\_2.png

典型的类:

(1) OAuth2ClientAuthenticationProcessingFilter :负责对客户端的访问进行过滤,验证token处理等操作。

(2)JdbcClientTokenServices:里面封装对oauth_client_token表的一系列操作(如增删改查),此表保存的是此client的token信息。

(3)OAuth2RestTemplate:实现了OAuthRestOperations接口,主要是用来去调用受保护的资源,会自己带上当前token的信息。

2、common公共包:

2019102020036\_3.png

这一层主要是对json字符串处理、解析和实例化等操作

(4)converter 层:略

(5)provider层:

最核心的一层,里面包含了endpoint、认证、以及四种授权方式的管理

2019102020036\_4.png

1、approval包:包含了授权的信息

2、authntication包:这个包说一下OAuth2AuthenticationProcessingFilter类,这个类主要负责当资源服务器接收到请求此类将进行过滤校验等操作

OAuth2AuthenticationManager这个类是重点

(3)client包:这里只讲一个JdbcClientDetailsService一个类,打开此类的源码可以看到它里面声明了很多的sql语句。此类主要是关系着client信息的管理。以jdbc的方式进行读取

(4)code、implicit、password、refresh层这里就不再展开,就是对应着四种授权方式的管理

(5)endpoint层:此层很重要,代码里面定义了基本的接口地址,如/oauth/authorize、/oauth/token、/oauth/confirm_access等等

赞(0) 打赏
版权归原创作者所有,任何形式的转载请联系博主:daming_90:Java 技术驿站 » Spring cloud oauth2.0 源码学习

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏