我正在将 Keycloak 与我的 springboot 服务集成,全部部署在 GKE 上,当我尝试使用 REST API 使用以下 curl 请求对已创建的用户进行身份验证时,我按照 Keycloak 的安装说明进行了操作:
curl --location --request POST 'http://<MY_KEYCLOAK_PUBLIC_IP>/auth/realms/demo/protocol/openid-connect/auth' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=demo-app' \
--data-urlencode 'username=test' \
--data-urlencode 'password=test' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'client_secret=ee39b325-7dw4-4c0c-681f-29e2f7f63f57'
我收到以下错误
{"timestamp":"2021-07-03T20:20:23.570+00:00","status":404,"error":"Not Found","message":"","path":"/"}
知道本地部署 keycloak 一切正常,我认为有问题redirect URL
但不确定。
对于 keycloak 客户端配置,请在下面找到它:
编辑:
当我替换为时Redirect URL
,*
出现了不同的错误:
{
"error": "RESTEASY003210: Could not find resource for full path: http://<KEYCLOACK_IP>/auth/*?error=invalid_request&error_description=Missing+parameter%3A+response_type"
}
您正在尝试使用Direct Access Grant
,因此您必须将数据发布到令牌端点(而不是授权端点):
curl -s -X POST \
--data-urlencode "client_id=demo-app" \
--data-urlencode "client_secret=ee39b325-7dw4-4c0c-681f-29e2f7f63f57" \
--data-urlencode "username=test" \
--data-urlencode "password=test" \
--data-urlencode "grant_type=password" \
http://<MY_KEYCLOAK_PUBLIC_IP>/auth/realms/demo/protocol/openid-connect/token
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句