无法从 Keycloak 获取 oauth 令牌

Posted

技术标签:

【中文标题】无法从 Keycloak 获取 oauth 令牌【英文标题】:unable to get oauth token from Keycloak 【发布时间】:2018-06-17 04:51:39 【问题描述】:

我有一个从 Keycloak 获取身份验证的应用程序。

我的访问类型是公开的,所以我没有任何客户端密码。

我已将“Direct Access Grants Enabled”设置为ON

参考以下:

我从邮递员那里收到如下错误:


    "error": "invalid_grant",
    "error_description": "Invalid user credentials"

注意:我的凭据是正确的,因为我使用相同的方式登录 keycloak

我还检查了密钥,根据以下参考,它们似乎是正确的:

https://gist.github.com/rac021/623e4f4c87069acd0c38d952568f8a3d

虽然我已经按照我的理解进行了设置。

参考资料:

如果我遗漏了什么或者您需要更多详细信息,请告诉我。

任何解决方法将不胜感激!!!!

【问题讨论】:

下面的文章也可以帮助我:xpam.pl/blog/?p=154 【参考方案1】:

错误消息"Invalid user credentials" 是可靠的。也就是说,您指定了错误的用户名或密码。 检查用户是否确实存在于您使用 URL 寻址的领域中。特别是如果不是 master 领域,通常用于登录 keycloak 管理控制台。

【讨论】:

是的......你是对的我正在尝试登录用户......谢谢你的帮助【参考方案2】:

我遇到了同样的问题。 我的是由于直接授权流程中的 OTP(可选)

【讨论】:

【参考方案3】:

我在邮递员中有同样的错误响应,因为我没有将角色添加到客户端,然后必须将其添加到用户角色:

1) Create client role.

2) Add this role to user roles.

3) then token from postman was obtained without this error.

【讨论】:

【参考方案4】:

对于 LDAP 用户,我遇到了这个问题。一些用户能够使用授权代码流登录,但是当我使用同一用户从邮递员那里获取访​​问令牌时,令牌 URL 低于响应。

“错误”:“invalid_grant”, "error_description": "无效的用户凭证"

为了解决上述错误,我删除了用户所需的用户操作并启用了电子邮件验证选项。

【讨论】:

【参考方案5】:

仅在 Postman 中发生,我重置了用户密码并恢复正常工作

【讨论】:

以上是关于无法从 Keycloak 获取 oauth 令牌的主要内容,如果未能解决你的问题,请参考以下文章

需要使用 Keycloak 和 oAuth2 保护普通 Spring REST API 的示例

Keycloak 访问令牌与 UserInfo 令牌?

Spring Security OAuth - 它可以使用 Keycloak 中的 JWT 令牌吗

使用 keycloak rest admin API (Oauth2) 修改用户姓氏后 jhipster 重新加载 OIDC 令牌

从 JWT 令牌获取 UserInfo 信息并在 Spring Boot OAuth2 自动配置上仅使用 JWK 验证

如何使用 Spring boot keycloak 适配器 + spring security 强制更新 oAuth 令牌(访问令牌 + 刷新令牌)。?