EnableOAuth2Sso源码解读

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EnableOAuth2Sso源码解读相关的知识,希望对你有一定的参考价值。

参考技术A  一、zuul网关

1、首先起作用的是 secruity的 FilterChainProxy,过滤器链

1、OAuth2ClientAuthenticationProcessingFilter:单点登录的拦截类

2、public OAuth2RestOperations restTemplate;

      OAuth2RestTemplate 实现了OAuth2RestOperations 接口,使用getAccessToken 方法,方便获取token

3、AuthorizationCodeAccessTokenProvider:sso中提供的默认的token获取方式---code方式

(1)判断有没有code,没有code时(state也同步判断了),会抛出一个UserRedirectRequiredException异常

4、OAuth2ClientContextFilter:拦截了UserRedirectRequiredException异常,重定向到 申请验证码的请求

http://127.0.0.1:9501/oauth/authorize?client_id=client&redirect_uri=http://127.0.0.1:9500/login&response_type=code&scope=openid&state=Z5YEAF

5、后续进入到oauth2-server的验证

6、 oauth2 完成申请验证码后,会回调redirect_uri= http://127.0.0.1:9500/login ,并已经携带了code和state

7、gateway再次获取token,已经有了code,所以后台发起了oauth/token,则直接成功,并回调到admin/index.html界面

综上,具体可以查看源码。附一个简单的流程图:

Flink 源码解读

以上是关于EnableOAuth2Sso源码解读的主要内容,如果未能解决你的问题,请参考以下文章

源码解读|SparkContext源码解读

Flink 源码解读

Flink 源码解读

Flink 源码解读

RedissonDelayedQueue源码解读

SpringMVC源码解读--HandlerAdapter源码解读