【发布时间】:2020-02-13 20:53:10
【问题描述】:
我目前使用的堆栈是: 钥匙斗篷 烧瓶 烧瓶-oidc nginx作为负载均衡器
我的设置是我有两个正在运行的服务实例(instance1、instance2)。我面临的问题是:
-
用户使用网络浏览器通过转到https://mycompany.com/auth/login 进行身份验证
-
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 没有。
人们如何解决这个问题?这种设置是否可行?
【问题讨论】:
标签: flask openid keycloak flask-oidc