こんにちは。
自分は、すでに用意してあるアカウントに、パスワードのみでログインさせる機能を実装しています。
機能の構想としては、フォームに入力されたパスワードをその場でハッシュ化して、DBの password_digest カラムの値と直接比較し、一致するものがあればログインさせるといったものです。
ただ、その方法がよくわからず困っています。
Ruby
1 def login 2 #フォームに入力されたパスワードをハッシュ化 3 @password = BCrypt::Password.create(params[:password]) 4 #上で暗号化したパスワードとpassword_digestが一致するものを探す 5 @user = Certification.find_by(password_digest: @password) 6 7 if @user 8 session[:user_id] = @user.id 9 redirect_to("#") 10 else 11 @error_message = "パスワードが間違っています" 12 render("#") 13 end 14 15 end
とりあえず調べながら上のコードを書いたのですがやはりうまくいきませんでした。
何か解決策がありましたら教えていただきたいです。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/15 06:45
2018/10/15 06:50