如何在刷新令牌到期时使OAuth2 / Zuul将用户重定向到登录页面?

时间:2017-10-27 13:13:17

标签: spring spring-boot spring-security-oauth2 spring-cloud-netflix

当刷新令牌到期时,如何使spring / zuul代理重定向到OAuth2身份验证端点?

目前发生的情况是我在BadCredentialsException中获得了OAuth2TokenRelayFilter:getAccessToken(),因为刷新令牌已过期并且作为HTTP 500返回到浏览器。

建筑

  • 使用@EnableZuulProxy的边缘服务,@EnableOAuth2Sso使用Keycloak执行身份验证,并对以下服务进行代理调用
  • 为用户界面提供服务但未受保护的UI服务
  • 使用@EnableResourceServer的主要服务,需要OAuth2访问令牌

当前实施状态

请求任何Zuul代理端点触发身份验证并将浏览器重定向到Keycloak。成功验证后,Keycloak会重定向回代理,该代理检索访问令牌和刷新令牌。然后Zuul完成初始端点呼叫。

当访问令牌过期时,在代理服务之前使用刷新令牌检索新令牌。

在主服务中,在处理API请求之前验证OAuth2令牌。

除了那些"刷新令牌已过期"条件。这是一个标准的案例,我必须忽略一些明显的事情。

0 个答案:

没有答案