发送忘记密码的邮件 [英] Send password forgotten mail

查看:0
本文介绍了发送忘记密码的邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Keyloak中有两个类似的用例。

密码重置

首先,我希望使用户能够重置他们的密码。已经有一个用户正在使用的应用程序,所以将其集成到那里会很好。我在其中创建了一个小的环形模块,并试图通过Keyloak Password Form提供的相同机制来触发密码忘记邮件。但我搞不懂他们是如何创建这个动作链接的:

https://example.com/keycloak/auth/realms/my-realm/login-actions/reset-credentials?session_code=dpmvJISKKf-SSZbC8_FkrBZEuYhwcV24ui-dc27DKvI&execution=98bd5b5d-054e-4c44-ad07-50b668fb149a&client_id=account&tab_id=Lr7iH6BRehM

执行似乎总是一样的,但我不知道从哪里得到它。

我目前的解决方案是从Keyloak请求原始站点,提取链接,并在用户输入用户名后向该URL发出POST请求。但这有点脏:)

有没有"正确"的方法?

添加密码重置

我们有不同的领域可以使用位于LDAP中的用户帐户,这些帐户具有SASL属性和存储在MSAD中的真实密码。我们的前端找出哪种类型的用户正在请求密码重置,并将其委派到适当的领域。

初始密码

第二个问题是关于在管理区域中创建用户并发送初始邮件来设置密码。我可以使用上面的方法来触发邮件。但是,邮件说密码忘记了,而他们真的必须第一次设置密码,这是不好的。 我尝试在用户REST表示中设置必需的操作,但似乎没有触发任何邮件。

是否需要采取行动才能做到这一点?我错过了什么功能吗?

添加密码重置 我们有不同的领域来使用在具有SASL属性和存储在MSAD中的真实密码的LDAP中的用户帐户。我们的前端找出哪种类型的用户正在请求密码重置,并将其委派到适当的领域。

推荐答案

密钥罩here

提供了相当多的管理-api端点

满足您的需求;

  1. 密码重置--您应该可以通过使用接口"PUT/{REALM}/USERS/{id}/Execute-Actions-Email"来重置密码。StackOverflow中有许多示例,包括this
  2. 初始密码--在创建用户时,您应该能够使用类似的方法来调用"POST/{Realm}/Users",因为您能够在UserRepresentation对象中传递"必需的操作"。此外,您也可以将此接口与之前的接口组合以满足您的需求。不过,这里还有其他API可供您使用,请记住,Keyshaak也为用户提供了registration page。 请务必同时查看"PUT/{REALM}/USERS/{id}/Reset-Password"。

检查此链接以获取所需操作的explanation

请注意,为了调用密钥伪装admin-api,您应该创建一个有足够权限调用admin-api的客户端。这方面的配置将取决于您计划使用的授权机制--但为了了解它的要点--创建一个客户端并检查客户端页面上可用的替代方案--附上一个屏幕截图供您参考;

祝你好运!

这篇关于发送忘记密码的邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆