我正在使用客户端创建一个新的keycloak用户.像这样的东西:
keycloak.realm(realm)
.users()
.create(user);
Run Code Online (Sandbox Code Playgroud)
用户变量是一个UserRepresentation对象,我正在尝试添加Update Password所需的操作:
user.setRequiredActions(singletonList("Update Password"))
Run Code Online (Sandbox Code Playgroud)
用户创建好了,问题是我没有设置所需的操作
我不确定我做错了什么,我应该在所需的操作列表中指定不同的值吗?
谢谢
想出了什么.
Keycloak有一个枚举来表示各种用户操作:
public static enum RequiredAction {
VERIFY_EMAIL, UPDATE_PROFILE, CONFIGURE_TOTP, UPDATE_PASSWORD, TERMS_AND_CONDITIONS
}
Run Code Online (Sandbox Code Playgroud)
所以价值应该是"UPDATE_PASSWORD"不"Update password"
小智 6
要找出所有可能需要的操作别名,请从管理界面将目标领域导出为 json。在 json 中,您将找到“requiredActions”数组,其中列出了所有合法操作,如下所示:
"requiredActions": [
{
"alias": "CONFIGURE_TOTP",
"name": "Configure OTP",
"providerId": "CONFIGURE_TOTP",
"enabled": true,
"defaultAction": false,
"priority": 10,
"config": {}
},
{
"alias": "terms_and_conditions",
"name": "Terms and Conditions",
"providerId": "terms_and_conditions",
"enabled": false,
"defaultAction": false,
"priority": 20,
"config": {}
},Run Code Online (Sandbox Code Playgroud)
在代码中设置所需操作列表时,只需使用“alias”标签下的字符串即可。
| 归档时间: |
|
| 查看次数: |
1833 次 |
| 最近记录: |