当前位置:   article > 正文

spring security oauth2 中两个endpoint的注入来源_frameworkendpoint

frameworkendpoint

公司项目使用xml配置的方式整合oauth2,在阅读源码,跟踪整个授权跟获取令牌的过程中,对比xml的配置文件,并没有找到有配置配了两个endpoint的注入:TokenEndpoint 和 AuthorizationEndpoint。这两个类分别对应我们oauth2中两个重要的请求:/oauth/token 和 /oauth/authorize。我们oauth的功能都围绕着这个给url展开,这里不禁疑惑,配置文件没有注入这两个bean,那请求是如何映射到这两个bean的呢?

拿其中一个来说:TokenEndpoint。如下图,TokenEndpoint 类上有一个注解 @FrameworkEndpoint,我们姑且把它当作@controller ,可以使用相关的注解,这里,获取令牌入口 /oauth/token 就是在这个类配置的。这里就解决的请求映射到bean的问题。

但是还有一个问题,仔细看它的父类(下图),并没有类似@autowire 的注入图中的红框部分,那么红框中的几个bean是怎么注入进去的呢?

这里就比较隐秘了,是在AuthorizationServerBeanDefinitionParser解析配置文件 oauth2:authorization-server 标签时,设置需要注入的属性,然后让spring来注入。如下图:

 

以上是使用xml配置的方式,比较难跟踪,如果使用java配置,比如spring boot的时候,是在配置类AuthorizationServerEndpointsConfiguration中初始化的

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/84117
推荐阅读
相关标签
  

闽ICP备14008679号