管理员创建用户,强制用户选择密码



使用烧瓶安全性,我希望我的流程类似于以下内容:

  1. 管理员创建用户
  2. 管理员向用户发送已创建的用户通知电子邮件
  3. 用户使用通知电子邮件中的链接设置密码

我尝试在步骤 2 中使用管理员帐户中的forgot_password视图,但 https://github.com/jwag956/flask-security/blob/743be9c979b558b4ecfb177dc8117c0bf55e38ed/flask_security/views.py#L464 需要匿名用户,因此需要重定向。

我看到了 https://stackoverflow.com/a/31228170/799921,但有点模糊。这是最好的解决方案吗?

我也在查看烧瓶安全,并认为我找到了答案。我不确定我使用的功能是否旨在成为开放 API 的一部分,但它适合我的需求。

我创建了一个管理员创建用户视图,该视图将用户电子邮件(和姓名等(添加到数据库中。作为创建用户的一部分,视图调用通常在用户单击"忘记密码"时调用的函数,即send_reset_password_instructions。因此,现在作为管理员创建用户过程的一部分,用户会收到一封电子邮件,其中包含一个链接,用户可以在该链接中设置自己的密码。

from flask_security.recoverable import send_reset_password_instructions
# my code is maintains self.created_id after creating the user record
# this is due to some complex class involved which handles my crudapi stuff
# your code may vary
user = User.query.filter_by(id=self.created_id).one()
send_reset_password_instructions(user)

最新更新