美文网首页
EnableOAuth2Sso源码解读

EnableOAuth2Sso源码解读

作者: lgtn | 来源:发表于2021-04-02 17:35 被阅读0次

     一、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界面

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

    相关文章

      网友评论

          本文标题:EnableOAuth2Sso源码解读

          本文链接:https://www.haomeiwen.com/subject/ecjqkltx.html