OmniAuthとDeviseを使用してユーザーを認証しています。OmniAuth プロバイダーを使用してサインアップしたユーザーがオプションのパスワード (API 認証に必要) を設定できるようにしたいのですが、壁にぶつかっています。
ユーザーが OmniAuth 経由でアカウントを作成し、パスワードを設定しようとすると、次のエラーが発生します。
BCrypt::Errors::InvalidHash in RegistrationsController#update
これは、パスワードが空白であるためだと思います。これを回避する良い方法は何ですか? ランダムなパスワードを生成することを考えましたが、そのアプローチの問題は、ユーザーが設定を編集するために現在のパスワードを知る必要があることです。
編集:現在のパスワードを必要とせずにユーザーが設定を変更できるようにすることを検討しました。これは、ユーザーが最初にパスワードを持っていなかった場合にのみ行いたいことです。