我的KeyCloak网关在本地成功运行,为Kubernetes仪表板提供了Google OIDC身份验证。但是,当将应用程序部署为集群本身中的Pod时,使用相同的设置会导致错误。
当网关在K8S pod中运行时,我看到的错误是:
unable to exchange code for access token {"error": "invalid_request: Credentials in post body and basic Authorization header do not match"}
我使用以下选项呼叫网关:
--enable-logging=true
--enable-self-signed-tls=true
--listen=:443
--upstream-url=https://mydashboard
--discovery-url=https://accounts.google.com
--client-id=<client id goes here>
--client-secret=<secret goes here>
--resources=uri=/*
将这些设置应用于容器中的容器后,我可以浏览到网关,重定向到Google进行登录,然后重定向回生成上述错误的网关。
如何解释在本地运行应用程序和在可能会产生上述错误的Pod中运行它之间的区别?
答案 0 :(得分:1)
这最终是复制/粘贴失败,并且客户密码不正确。该错误消息在这里没有太大帮助,但至少它是一个简单的修复程序。