【发布时间】:2020-02-13 11:42:22
【问题描述】:
UserRepresentation 模型中的 Keycloak REST API 有一个“凭据”属性,它具有 ( type = "password", value="some",temporary=true/false } 在添加新用户时,我不会强制用户在第一次登录时更改密码。我知道它可以在领域/授权选项中的必需操作中全局完成,但如果“强制更改密码”未设置为默认值。我想通过设置 user.credentials 模型中的属性来控制它,但看起来它完全是虚拟属性并且没有任何效果,总是作为假。我对吗 ?
附:我还查看了 https://github.com/keycloak/keycloak/blob/b4b3527df7656bfaaee351ec414e56c683c134c2/services/src/main/java/org/keycloak/services/resources/admin/UserResource.java 中的模型,我喜欢在 resetPassword 中设置它,但在 updateUser 中没有(我假设它也用于添加用户)。
{
"username": "New_User_3",
"enabled": true,
"firstName": "NewUserDemoFirst",
"lastName": "NewUserDemoLast",
"email": "New_User_3@mail.test",
"attributes": {
},
"access": {
"manageGroupMembership": false,
"view": false,
"mapRoles": false,
"impersonate": false,
"manage": false
},
"credentials": [
{
"type": "password",
"temporary": true,
"value": "xM0K+G"
}
]
}
【问题讨论】:
-
尝试在 Keycloak 管理控制台中创建用户,然后为该用户设置临时凭据并跟踪执行此操作时 Keycloak 管理 UI 发送到 Keycloak 后端的请求。