我目前使用的堆栈是: Keycloak flask flask-oidc nginx as load balancer
我的设置是我有两个正在运行的服务实例(instance1,instance2)。我面临的问题是:
instance1 处理此请求并将用户重定向到 Keycloak 进行身份验证
Keycloak 使用重定向 url ( https://mycompany.com/auth/auth_callback )将用户重定向回应用程序
这次负载均衡器将请求路由到重定向 url 到 instance2。这里 instance2 出错,Keycloak 的响应是“{'error': 'invalid_grant', 'description': 'Incorrect redirect uri'}”,这非常令人困惑,因为重定向 uri 是正确的。
我不完全确定为什么这个设置不起作用。但是在阅读了 openID 的工作原理之后,我有点怀疑它与 state 参数(https://auth0.com/docs/protocols/oauth2/oauth-state)有关。同样,我不完全确定。但它必须是 instance1 本地的东西,而 instance2 没有。
人们如何解决这个问题?这种设置甚至可能吗?