无法从 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 的示例
Spring Security OAuth - 它可以使用 Keycloak 中的 JWT 令牌吗
使用 keycloak rest admin API (Oauth2) 修改用户姓氏后 jhipster 重新加载 OIDC 令牌
从 JWT 令牌获取 UserInfo 信息并在 Spring Boot OAuth2 自动配置上仅使用 JWK 验证
如何使用 Spring boot keycloak 适配器 + spring security 强制更新 oAuth 令牌(访问令牌 + 刷新令牌)。?