質問: Devise.friendly_token[0,20] ここの部分でランダムな生成をしているようです。 googleなどの認証はsignin singupの手軽さで使うユーザーが多いと思うので、 メールアドレスだけ引っぱって来て、パスワードをsingup時に手動入力のようなことはナンセンスなのかなと考えているのですが、、、 そうなると、マイページ変更時のパスワードがユーザー自身で決めてないために確認できないことになります。 マイページの情報変更を現在のパスワードの入力なしで変更を保存させる方がいいのでしょうか? このあたりの何かベストプラクティスはありませんか?
回答: > > マイページの情報変更を現在のパスワードの入力なしで変更を保存させる方がいいのでしょうか? > > > おっしゃるとおり、GoogleなどのSNS認証をしたアカウントについては、パスワード変更の際(当然ながら)現在のパスワードは知るよしもないので、パスワード入力なしで変更させることになるかと思います。 例えば、 `user.password_manually_updated` のようなカラムをもたせて、新規登録または、パスワード変更時にパスワードを手動入力した場合はtrue, SNS認証の場合はfalseなどをもたせておけば、 必要に応じてパスワード変更時に、現在のパスワードを入力させるか否かを制御できるかと思います。