Dim*_*ian 5 ruby-on-rails heroku devise
我在控制器中添加一个功能,唯一的目标是通过 API 请求触发忘记密码过程。
这是reset_password方法-
def reset_password
@user = User.find_by_email(params[:email])
@user.send_reset_password_instructions
respond_to do |format|
format.xml { render :xml => user_api_ressource(@user, :xml)}
format.json { render :json => user_api_ressource(@user, :json)}
end
end
Run Code Online (Sandbox Code Playgroud)
我收到带有重置密码链接的邮件,它会打开一个页面,我可以在其中设置新密码,但当我提交表单时,它说令牌无效。
我正在使用 sendgrid 发送电子邮件。我认为这不是令牌截断问题。
我正在使用最新版本的 devise 在 Heroku cedar 上运行 Rails 应用程序。
任何想法 ?
我刚刚遇到了同样的问题。就我而言,这是user因为unscoped. 在这种情况下似乎没有找到用户。
它位于/lib/devise/models/authenticable.rb 的Devise 源代码中的第 113 行
recoverable = find_or_initialize_with_error_by(:reset_password_token, reset_password_token)
Run Code Online (Sandbox Code Playgroud)
哪个不用搜索unscoped。
我将分叉该存储库,如果您也感兴趣,请告诉我。
| 归档时间: |
|
| 查看次数: |
5235 次 |
| 最近记录: |