java - Keycloak 缺少表单参数 : grant_type

标签 java authentication keycloak

我在我的本地机器上独立运行了 keycloak。

我创建了名为“spring-test”的新领域,然后创建了名为“login-app”的新客户端

根据其余文档:

POST: http://localhost:8080/auth/realms/spring-test/protocol/openid-connect/token

{
    "client_id": "login-app",
    "username": "user123",
    "password": "pass123",
    "grant_type": "password"
}

应该给我 jwt token ,但我收到错误的响应请求

{
    "error": "invalid_request",
    "error_description": "Missing form parameter: grant_type"
}

我假设我的配置中缺少某些东西。

编辑: 我使用的是 json 正文,但它应该是 application/x-www-form-urlencoded: 以下 body 工作:

token_type_hint:access_token&token:{token}&client_id:{client_id}&client_secret:{client_secret}

最佳答案

您应该在 POST 请求中发送您的数据,并将 Content-Type header 值设置为 application/x-www-form-urlencoded,而不是 json。

关于java - Keycloak 缺少表单参数 : grant_type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53795179/

相关文章:

python - 使用 Azure Python SDK 对用户进行身份验证的首选方式是什么?

node.js - 使用 Passport Consumer 策略设置全局 session

android - 如何在 Android 客户端中使用 Keycloak OpenId 进行 oAuth

MySQL 和 Keycloak 设置

java - 使用 Slick 获得 Rep[Optional[...]] 的产量

java - 如何解析这个json对象 -> linkedHashMap的arraylist

java - spring中的认证机制

java - TomEE : javax. servlet.ServletException : java. lang.NoClassDefFoundError : Could not initialize class javax. ws.rs.core.UriBuilder

java - Android JSON only OBJECT Fetching with Iteration

oauth-2.0 - 如何将 "accounts"的概念添加到Keycloak中?