前提・実現したいこと
rubyのdeviseを使ってログイン処理を実装しています。
登録されているメールアドレスにtoken付きのURL発行して、確認メールにあるリンクをクリックしたら即ログインできるようにしたいです。
近い機能としてdeviseの「views/users/passwords/new.html.erb」で登録されている
メールアドレス宛にtoken付きのURLを発行しているので、可能ならば、この処理内で
パスワードをスルーしてログインできるようにすることは可能でしょうか?
もし可能であれば、どのように記述すればいいのでしょうか?
発行されているtokenが暗号化?複合化?してあるので照合の仕方がわかりません。
ユーザーが新規登録時に間違ったemailアドレスを記入した場合やたまたまそのemailを受け取った第三者にアカウントを乗っ取られてします可能性がありますが、こちらは考えないものとします。
該当のソースコード
class Users::PasswordsController < Devise::PasswordsController # GET /resource/password/edit?reset_password_token=abcdef # def edit # ここで受け取ったtokenでuserテーブルのtokenと照合して一致すればログイン後の画面へ遷移。しなければroot_pathへ # end # PUT /resource/password # def update # end end
補足情報(FW/ツールのバージョンなど)
rails 5.2.3
ruby 2.6.3p62
devise 4.7.0
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/08/27 08:32
2019/08/27 08:36