새 암호를 설정할 때마다 유효하지 않은 토큰 오류 메시지가 나타납니다. Devise, reset_password_token = Devise.token_generator.digest (self, : reset_password_token, params [: reset_token])에서이 메소드를 디버깅했으며 토큰은 실제로 데이터베이스에 저장된 것과 다릅니다. 토큰이 다른 이유를 아는 사람이 있습니까?Rail 4 Devise 3.2 암호 분실 토큰이 잘못되었습니다.
편집 : 여기에 내가 고안 :: PasswordController를 대체하기 위해 사용하는 컨트롤러 코드는
class PasswordsController < Devise::PasswordsController
def edit
original_token = params[:reset_password_token]
reset_password_token = Devise.token_generator.digest(self, :reset_password_token, original_token)
self.resource = resource_class.find_or_initialize_with_error_by(:reset_password_token, reset_password_token)
if !resource.errors.empty?
flash[:alert] = "Password token is invalid"
redirect_to new_session_path(resource_name)
end
end
end
암호를 새 암호로 업데이트하는 곳에 컨트롤러 코드를 게시하십시오. – Hoa
@Hoa 컨트롤러 코드에 대한 내 게시물을 편집했습니다. –