【问题标题】:Devise: How to customize reset password token?设计:如何自定义重置密码令牌?
【发布时间】:2020-07-13 09:23:26
【问题描述】:

需要创建 6 位重置密码令牌。

每个人都在共享以下代码,但没有人解释如何。

def set_reset_password_token
  raw, enc = Devise.token_generator.generate(self.class, :reset_password_token)

  self.reset_password_token   = enc
  self.reset_password_sent_at = Time.now.utc
  save(validate: false)
  raw
end

我需要 6 位代码,电子邮件模板中没有重定向 URL。

【问题讨论】:

    标签: ruby-on-rails devise rails-api forgot-password


    【解决方案1】:

    也许您需要设置密码而不是生成令牌。此代码的作用是设置令牌,然后用于创建重置密码链接。您可以做的是跳过设计并创建一个表单,您可以在其中收到电子邮件,然后在您的控制器中执行类似的操作

    user.password = 'new password'
    user.password_confirmation = 'new password'
    user.save
    

    然后使用 action-mailer 通过邮件发送此密码

    【讨论】:

      猜你喜欢
      • 2016-02-22
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 2014-01-27
      • 1970-01-01
      • 2017-05-09
      • 1970-01-01
      • 2020-07-12
      相关资源
      最近更新 更多