负载均衡Auth服务器的OAuth授权代码流

时间:2019-04-18 21:36:41

标签: spring spring-security oauth

尝试将OAuth授权代码交换为令牌时遇到问题。

我的设置是这样

  • OAuth客户端(可能是Angular应用)
  • 我的Spring OAuth授权服务器的两个实例,充当身份提供者,使用循环均衡策略在负载均衡器后面运行
  • 密钥斗篷(充当身份代理)

使用我的身份提供程序中的用户登录时的事件顺序是这样的:

  • 由于没有令牌,用户访问受保护的页面并重定向到Keycloak。 Keycloak重定向到其默认身份提供者,该提供者返回登录页面
  • 用户登录。对身份提供者的/ login网址进行POST
  • 登录成功。用户被重定向到身份提供者的/ oauth / authorize URL。身份提供者在这里生成授权码,并将重定向返回给Keycloak。
  • 用户的浏览器使用授权代码重定向到Keycloak。 Keycloak尝试通过调用身份提供者的/ oauth / token端点来交换令牌的授权代码。
  • 对IdP的/ oauth / token端点的调用失败,因为处理请求的IdP实例对身份验证代码一无所知。身份验证代码是由IdP的另一个实例发出的。

Spring是否可以将生成的授权代码存储在某种缓存(Redis)或数据库中?我该怎么办?

0 个答案:

没有答案