Spring cloud oauth2.0 源码学习

一、源码结构:

《Spring cloud oauth2.0 源码学习》

client  复杂应用客户端的管理

common   公共类

config  配置层

http.converter  转换层

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

1、client包:

《Spring cloud oauth2.0 源码学习》

典型的类:

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

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

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

2、common公共包:

《Spring cloud oauth2.0 源码学习》

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

 

(4)converter 层:略

(5)provider层:

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

《Spring cloud oauth2.0 源码学习》

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等等
 

 

 

    原文作者:Spring Cloud
    原文地址: https://blog.csdn.net/zhangyongdingrui/article/details/82835344
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞