Keycloak,如果选择了更新密码操作,则不返回访问令牌

时间:2017-03-01 05:48:38

标签: keycloak keycloak-services

我通过在正文中发送以下内容来调用/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设置有什么区别,临时密码和更新密码需要的操作?

Temporary flag here in users credential tab

Update password as required action in user details tab

2 个答案:

答案 0 :(得分:6)

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

直到用户更新/设置密码,即此操作已完成,您将无法使用此用户获取访问令牌,因为该帐户未“完全设置”且属于某种类型中间状态,需要采取措施才能完成设置。

答案 1 :(得分:0)

我在使用 ldap 用户联盟时遇到了同样的问题,我查看了 SSO 的一些表并从 user_required_action 中删除了数据并清除了用户缓存,它工作正常。