2011-11-18 11 views
7

Omniauthでアカウントを作成したら、ユーザーにパスワードを設定させるにはどうすればいいですか? Omniauthは登録時にスタブパスワードを作成しますが、ユーザーはそのパスワードがわからないため、編集ユーザーページから変更することはできません。Omniauth(Rails + Devise)でアカウントを作成した後にパスワードを設定する

ここでは、編集フォームをHow To: Allow users to edit their account without providing a passwordの手順で上書きしようとしました。私はdbの暗号化されたパスワードを変更することができましたが、新しいパスワードでログインすることはできません。奇妙なことに、ログインに失敗したときにコンソールにエラーは表示されません。

アイデア?

私はRails 3.0.7とDevise 1.4.8を使用しています。私のサインイン/サインアップコードは標準Omniauth+Deviseチュートリアルに基づいています。

答えて

0

Omniauthは、このユーザーがプロバイダーに接続されていることを保証しながら、リモートユーザーに関する情報のみを提供します。

  • は、その情報を持つユーザーを作成し、
  • 工夫事前入力フォームにサインアップする、その情報を使用します(パスワードの入力をやったことである)デフォルトの方法で指定されていないフィールドを設定します。それから、3つのオプションを持っています(自分のチュートリアルで説明しているようにself.new_with_session)、ユーザが自分自身でアカウントを作成し、欠落しているフィールド(パスワードなど)に記入させる
  • omniauth情報をセッションまたはクッキーに保存し、フォーム情報とセッション情報の両方を使用して新しいユーザーを作成します。
関連する問題