Keycloak 通过 Rest API 设置密码策略

Keycloak set password policy via Rest API

我想通过 Keycloak Restupdate/add 密码策略API。

我浏览了文档,但看起来我只能通过 APIs 检索密码策略列表。任何其他可能的方式,以便我可以通过 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 11。


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

后使其工作

您可以使用 Keycloak Rest API:

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

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

JSON 响应中提取字段:

passwordPolicy

对于以下政策:

您将收到以下回复:

length(8) and hashIterations(27500)

如果您想 add/update 给定的政策

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

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

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

对于那些感兴趣的人,我在 git repo.

中提供了上述操作的脚本