私たちは電子メールでデバイスを使用していましたが、これが必要な唯一の情報であるため、モバイルログイン (ユーザーは携帯電話番号を提供します) に移行しています。電子メールは良いですが、必須ではありません。
私はそれを携帯電話番号認証で動作させました:
config.authentication_keys = [ :mobile ]
入力した番号を正確に入力すると機能します。人々が番号を入力する方法はたくさんありますが(メールに対して)
すなわち
ローカル形式 0125551234
または国際 27125551234
DBに保存するときに実際に携帯電話番号を正規化するので、認証前に同じ正規化を使用したいと思います。
セッションコントローラーをオーバーライドする以外にそれを行う方法はありますか?
アップデート:
次の方法を使用しました: https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-sign-in-using-their-username-or-email-address
その理由は、すでに何人かのユーザーがいて、モバイルをキャプチャしていない場合でも、電子メールでログインできるようにする必要があるためです。