我目前已经用google和discord实现了oauth2登录序列。我注意到 OAuth2AccessTokenResponseClient
按照预期处理访问令牌、刷新令牌和openid令牌(我在调试时看到了它们)。
但是,在授权过程结束时,当它关闭SuckeHandler时,令牌已经消失。在做了一些研究之后,似乎 OAuth2LoginAuthenticationFilter
(spring安全源代码)转换 OAuth2LoginAuthenticationToken
(持有代币的)放入 OAuth2AuthenticationToken
. 在此转换过程中,令牌实际上会丢失。
如何使访问令牌和刷新令牌在中可用 Authentication
中的对象 AuthenticationSuccessHandler
方法?我能换个过滤器吗?
1条答案
按热度按时间ljsrvy3e1#
我完全忽略了一个细节:
这个
OAuth2LoginAuthenticationFilter
把OAuth2AutherizedClient
(带代币)在OAuth2AuthorizedClientRepository
.在success handler中,您现在要做的就是获取提供者的客户端注册id,瞧: