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 源码解读
- Flink 源码解读系列 DataStream 数据流元素 StreamElement
- Flink 源码解读系列 DataStream 带 Watermark 生成的时间戳分配器
- Flink 源码解读系列 DataStream 窗口 Winow 实现
- Flink 源码解读系列 DataStream 窗口分配器 WinowAssigner
- Flink 源码解读系列 DataStream 时间服务管理器 TimeServiceManager 设计与实现
以上是关于EnableOAuth2Sso源码解读的主要内容,如果未能解决你的问题,请参考以下文章