如果用户在设计中忘记密码,则通过邮件发送密码

时间:2012-11-09 09:42:41

标签: ruby-on-rails ruby-on-rails-3 devise

我为web app使用设计,现在我也更改了我的网络应用以响应mobile app,到目前为止forgot password重置说明将被发送到用户的电子邮件但现在我想将密码发送到邮件,以便用户可以检查他的邮件并使用密码。但我不认为我可以这样做,因为密码是encrypted的设计,所以有人请告诉我如何通过邮件或其他方式获取密码,我可以用于我的移动应用程序。请帮帮我。

1 个答案:

答案 0 :(得分:0)

“忘记密码”链接通常会将用户发送到最后带有single_access_token哈希的网址。在那里,您识别用户并让他们根据自己的喜好更新密码。这样,您就不会激怒那些不希望您访问其密码的用户,这些密码也可能用于他们的银行帐户和社交连接页面。

另一种方法是将密码设置为哈希,例如

user.password= @new_pass #MD5.digest(Time.now)[0..7]
# set password_confirmation and reset password token for "change password on login", too, if neccessary
user.save

在用户模型after_update :email_password_if_password_changed中,如果密码字段已更改,您可以使用activemailer通过电子邮件发送密码。