27

我正在调用/auth/realms/master/protocol/openid-connect/token通过在正文中发送以下内容来获取访问令牌, grant_type=password&client_id=example-docker-jaxrs-app&username=user&password=password&client_secret=1d27aedd-11c2-4ed2-97d5-c586e1f9b3cd

但是当我从keycloak管理控制台向用户输入更新密码作为所需操作时,在尝试通过上述api获取令牌时出现以下错误,

{
    "error": "invalid_grant",
    "error_description": "Account is not fully set up"
}

还有一件事,2个设置有什么区别,临时密码和更新密码需要操作?

用户凭据选项卡中的临时标志

在用户详细信息选项卡中根据需要更新密码

4

3 回答 3

44

如果您将密码标记为临时密码,则会将用户操作update password标记为必需。

并且在用户更新/设置密码之前,即此操作已完成,您将无法使用此用户获取访问令牌,因为该帐户未“完全设置”并且处于一种中间状态需要执行操作才能完成设置的位置。

于 2017-03-04T23:05:28.683 回答
2

如果要更新密码,请更新密码,不要将其标记为临时密码,如果您标记为临时密码,则只需从“必需操作”框中删除更新密码即可。

于 2021-09-27T13:04:47.310 回答
0

我对 ldap 用户联合有同样的问题,我查看了一些 SSO 表并从 user_required_action 中删除数据并清除用户缓存,它可以工作。

于 2021-06-18T15:02:38.710 回答