Railsアプリケーションを持っていて、Deviseで認証を追加したい場合、データベースにnullパスワードを持っているユーザーがパスワードなしでサインインできるようにするにはどうすればよいですか?
ライフサイクルに沿った回答と、それを実行するために作成する必要のあるファイルを聞くことに興味があります。
Railsアプリケーションを持っていて、Deviseで認証を追加したい場合、データベースにnullパスワードを持っているユーザーがパスワードなしでサインインできるようにするにはどうすればよいですか?
ライフサイクルに沿った回答と、それを実行するために作成する必要のあるファイルを聞くことに興味があります。
手順1:レコードの保存を許可します。
ステップ2:レコードにサインインする
レコードを保存できるようにするには、自分で検証を行う必要があります。ここでは、カスタム検証の方法について説明します。http: //jessewolgamott.com/blog/2011/12/08/the-one-where-devise-validations-are-customized/ ....あなたの場合は、パスワードの検証を削除したい。
レコードにサインインするには、カスタムサインインパスが必要です。deviseセッションコントローラーをオーバーライドできますが、これでうまくいく可能性があります。
class SessionsController < ApplicationController
def create
user = User.find_by_email!(params[:session][:email])
sign_in user
redirect_to root_path
end
end
結局のところ、DeviseはWarden上に構築されています。これは、独自のカスタムWarden戦略を作成するだけでよいことを意味します。