【问题标题】:Keycloak reset user password via REST API by hashKeycloak 通过 REST API 通过哈希重置用户密码
【发布时间】:2016-10-30 16:22:31
【问题描述】:

Keycloak 'reset-password' REST API 中使用的 CredentialRepresentation 包含散列算法、散列密码、散列迭代等字段。 这意味着我可以通过散列密码及其所有散列规范,而不是将纯文本密码传递给服务。这正是我想做的,因为传递纯文本密码感觉不对。

但是,当我尝试在没有纯文本值的情况下调用服务时,我收到 400 错误,并显示缺少纯文本值的错误消息。有没有办法只传递散列密码?

【问题讨论】:

    标签: rest change-password keycloak


    【解决方案1】:

    传递明文密码(当然是通过 HTTPS)允许 keycloak 使用领域的哈希算法策略对其进行哈希处理。

    如果您想传入哈希密码值、迭代和算法,那么您还需要提供实现 PasswordHashProviderFactory 和 PasswordHashProvider 的哈希 SPI。而且我认为这不能通过 reset-password API 获得,但可以与 Update User API 一起使用(我还没有测试过)。

    比手动指定新密码更好的安全做法是使用PUT /admin/realms/{realm}/users/{id}/execute-actions-email admin 调用和"UPDATE_PASSWORD" 作为必需的操作。这会导致 Keycloak 向用户发送一封电子邮件,其中提供了直接设置新密码的链接。

    【讨论】:

    猜你喜欢
    • 2020-02-07
    • 2019-05-27
    • 2021-05-03
    • 2016-08-04
    • 2021-03-30
    • 2020-04-30
    • 2019-05-01
    • 1970-01-01
    • 2018-03-23
    相关资源
    最近更新 更多