设计:如何自定义重置密码令牌?
Posted
技术标签:
【中文标题】设计:如何自定义重置密码令牌?【英文标题】: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。
【问题讨论】:
【参考方案1】:也许您需要设置密码而不是生成令牌。此代码的作用是设置令牌,然后用于创建重置密码链接。您可以做的是跳过设计并创建一个表单,您可以在其中收到电子邮件,然后在您的控制器中执行类似的操作
user.password = 'new password'
user.password_confirmation = 'new password'
user.save
然后使用 action-mailer 通过邮件发送此密码
【讨论】:
以上是关于设计:如何自定义重置密码令牌?的主要内容,如果未能解决你的问题,请参考以下文章