如何通过 API 在 keycloak 中忘记密码

Posted

技术标签:

【中文标题】如何通过 API 在 keycloak 中忘记密码【英文标题】:How to do forgot password in keycloak via API 【发布时间】:2020-11-14 09:13:40 【问题描述】:

我们正在创建一个应用程序,该应用程序具有分别重置密码的功能,因为我们正在使用 keycloak,以便通过 keycloak 页面本身显示内容,但我们的客户需要在应用程序中提供忘记的密码,所以我需要像下面的流程一样点击忘记密码的api。

App忘记密码页面>仅填写电子邮件并继续>用户接收重置密码链接>打开链接>Keycloak重置密码页面

但是似乎keycloak中不存在api。

目前我只在api下面找到

PUT /realm/users/id/reset-password(需要承载,无法使用,因为我们无法使用领域帐户用户) PUT /realm/users/id/execute-actions-email(不知道怎么用,需要承载,无法使用realm账号用户)

有什么建议吗? 提前谢谢你


您好,现在是 2021 年,我此时的解决方案是在 java 服务中使用 keycloak 库,因此该服务作为我的 Web 应用程序与 keycloak 之间的聚合器工作,而我们仍然使用上面提到的需要域访问的 api。祝你好运。

【问题讨论】:

【参考方案1】:

您可以将用户所需的操作设置为UPDATE_PASSWORD,当用户尝试登录时,系统会提示他们设置密码。

Keycloak Admin APIs - UserResource 您可以更新用户并在UserRepresentation 中设置所需的操作。

【讨论】:

显然,它不能回答这个问题,因为忘记密码的用户无法登录。

以上是关于如何通过 API 在 keycloak 中忘记密码的主要内容,如果未能解决你的问题,请参考以下文章

发送密码忘记邮件

KeyCloak 忘记密码 电子邮件链接

如何通过执行操作电子邮件通过 keycloak admin rest api 更新密码

Keycloak:实现“重置密码”(作为管理员)流程与“忘记密码”(作为用户)相同

Keycloak忘记密码设置

如何从 REST API(PUT 方法)更新 Keycloak 密码?