当刷新令牌到期时,如何使spring / zuul代理重定向到OAuth2身份验证端点?
目前发生的情况是我在BadCredentialsException
中获得了OAuth2TokenRelayFilter:getAccessToken()
,因为刷新令牌已过期并且作为HTTP 500返回到浏览器。
@EnableZuulProxy
的边缘服务,@EnableOAuth2Sso
使用Keycloak执行身份验证,并对以下服务进行代理调用@EnableResourceServer
的主要服务,需要OAuth2访问令牌请求任何Zuul代理端点触发身份验证并将浏览器重定向到Keycloak。成功验证后,Keycloak会重定向回代理,该代理检索访问令牌和刷新令牌。然后Zuul完成初始端点呼叫。
当访问令牌过期时,在代理服务之前使用刷新令牌检索新令牌。
在主服务中,在处理API请求之前验证OAuth2令牌。
除了那些"刷新令牌已过期"条件。这是一个标准的案例,我必须忽略一些明显的事情。