首页 > 解决方案 > Keycloak 通过 Rest API 设置密码策略

问题描述

我想通过 Keycloak RestAPI 更新/添加密码策略。

我浏览了文档,但看起来我只能通过 API 检索密码策略列表。任何其他可能的方式,以便我可以通过 Rest API 处理密码策略?

https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_serverinforepresentation
https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_passwordpolicytyperepresentation

通过 Keycloak 管理面板管理密码策略

我正在使用 Keycloak 11。


更新: 我设法弄清楚密码策略值位于 Realm 表下的密码策略列内。我认为我可能需要重新启动 Keycloak,或使用 https://www.keycloak.org/docs-api/11.0/rest- 上的 Keycloak Rest API (POST /{realm}/clear-realm-cache) 清除 Keycloak缓存api/index.html让它在我更新表格后工作。

在此处输入图像描述

标签: keycloakkeycloak-rest-apipassword-policy

解决方案


您可以使用Keycloak Rest API

获取password policiesRealm 正在使用的列表,即:

GET <KEYCLOAK_HOST>/auth/admin/realms/<YOUR_REALM>

JSON响应中提取字段:

passwordPolicy

对于以下政策:

在此处输入图像描述

你会得到以下响应:

length(8) and hashIterations(27500)

如果您想添加/更新给定的策略

PUT <KEYCLOAK_HOST>/auth/admin/realms/<YOUR_REALM>

使用适当的数据参数。例如,假设从前面的示例中您想将“最小长度”策略更新为 10 而不是 8,那么要在 PUT 请求中发送的数据将是:

'{"passwordPolicy":"length(10) and hashIterations(27500)"}'

对于那些感兴趣的人,我在这个 git repo中有上述操作的脚本。


推荐阅读