我正在使用Devise進行Rails 4應用程序驗證,並且遇到密碼重置問題。在本地,一切工作正常,當我粘貼重置鏈接(即本地主機:3000 /用戶/密碼/編輯?reset_password_token = e_f3ZpqrE_rTBZmKJk_E)它按預期工作。設計密碼重置問題Rails 4
在Heroku上,Devise似乎甚至沒有注意到:reset_password_token參數,並自動通過通知重定向到/ users/signin「如果你沒有來自密碼重置電子郵件,則無法訪問此頁面。從密碼重置電子郵件,請確保您使用了提供的完整URL。「
這裏是正在生成的鏈接的例子:http://mysite.io/users/password/edit?reset_password_token=anzYNreZEcz4-dtZy5Uf
我甚至壓倒在我自己的控制器assert_reset_token_passed方法來檢查PARAMS [:reset_password_token]竟是空白,由於某種原因是,鐵軌不會從網址中拉出來。這裏是我的修改方法:
def assert_reset_token_passed
logger.info params[:reset_password_token] #This is blank somehow
if params[:reset_password_token].blank?
set_flash_message(:alert, :no_token)
redirect_to new_session_path(resource_name) #This is where the redirect happens
end
end
任何幫助將不勝感激。
這不完全是我的情況,但它讓我在正確的軌道上。在我的情況下,生成的網址是http,但我的應用將所有流量重定向到https。重定向丟失查詢字符串。 – Brandon
布蘭登,到底什麼是你的確切解決方案,是它增加:協議=>'https' - 我希望這會爲我解決它,但它並沒有 – christian
謝謝 - 這解決了這個問題我! – justinraczak