Sum*_*dal 5 oauth-2.0 keycloak oauth2-proxy
我第一次尝试Keycloak,并使用Keycoak作为oauth2_proxy的提供者(https://github.com/oauth2-proxy/oauth2-proxy/blob/v5.1.1/providers/keycloak.go)通过LDAP实现用户身份验证。我已按照 Keycloak 内的所有步骤创建领域、创建客户端、客户端 ID、客户端密钥等。此外,Keycloak API“/token”正在传递。但是,一旦我在 keycloak 登录屏幕中传递用户名/密码,我就会在 oauth2_proxy 中收到以下错误:
[2020/05/30 10:15:37] [requests.go:25] 401 GET http://172.20.0.10:8080/auth/realms/master/protocol/openid-connect/userinfo {"error":"invalid_token","error_description":"Token verification failed"}
Run Code Online (Sandbox Code Playgroud)
另外,我在启动 oauth2_proxy docker 容器时传递以下参数:
command: -upstream=static://200 -http-address=0.0.0.0:8080 -https-address=0.0.0.0:8443
-redirect-url="https://portal.acme.com/oauth2/callback"
-scope='test-scope' -email-domain=* -cookie-domain=* -cookie-secure=false -cookie-secret=skjgfsgfsf23524
-cookie-samesite="none" -provider=keycloak
-client-id='abcd-client' -client-secret='c0281257-b600-40b2-beae-68d1f2d72f02'
--tls-cert-file=/etc/acme.com.pem
--tls-key-file=/etc/acme.com.key
-login-url="http://localhost:7575/auth/realms/master/protocol/openid-connect/auth"
-redeem-url="http://172.20.0.10:8080/auth/realms/master/protocol/openid-connect/token"
-validate-url="http://172.20.0.10:8080/auth/realms/master/protocol/openid-connect/userinfo"
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙解决可能丢失或出错的问题吗?任何线索或提示都会非常有帮助。
我找到了这个问题的解决方案。这是因为 JWT 令牌中的颁发者与我在启动此 oauth2_proxy 容器时提供的 URL 不匹配。为了解决这个问题,docker 容器需要与 Keycloak 公开的主机网络和端口进行通信。这需要两件事:
| 归档时间: |
|
| 查看次数: |
7071 次 |
| 最近记录: |