当我试图了解OAuth2客户端时,我对为什么我们有两个不同的过滤器感到困惑
我试图与Github集成。这是我的观察
OAuth2AuthorizationCodeGrantFilter
听起来像是一个过滤器,用于交换访问令牌的授权代码,但是当我保留调试点时,它不会这样做OAuth2LoginAuthenticationFilter
听起来有点像以某种方式登录,但是此过滤器交换身份验证代码以访问令牌,而不是上面的令牌我不确定为什么会这样,因为第一类名称暗示与授权码有很强的关联性
此外,OAuth2LoginConfigurer
和OAuth2ClientConfigurer
之间有什么区别
好像OAuth2LoginConfigurer
配置OAuth2LoginAuthenticationFilter
,而OAuth2ClientConfigurer
配置OAuth2AuthorizationCodeGrantFilter
有人可以解释每个人的工作以及在什么情况下适用吗?
谢谢
答案 0 :(得分:3)
Spring Security参考文献对此进行了详细记录。
同样,在javadoc中:
高级别:
http.oauth2Login()
是OpenID Connect Authentication using the Authorization Code Flow http.oauth2Client().authorizationCodeGrant()
是OAuth 2.0 Authorization Code授予的实现