0

私はDeviseを使用しており、ユーザーが"log in with facebook"をクリックするようにしています。彼らがこれを確認すると、それを登録URL "http://0.0.0.0:3000/users/sign_up"に持って行きます。DeviseにFacebookのUIDを保存するには?

ここに私はFacebookから得た名前と電子メールフィールドを入力します。彼らは今サインアップするためにパスワードを選択する必要があります。私はまた、ユーザーのFacebookのUIDとFacebookのURLを保存したいと思います。

ユーザーがサインアップボタンをクリックすると、これを自分のユーザーモデルに渡すにはどうすればよいですか? (これらの余分なフィールドを含むようにモデルを更新しました)。

編集:私は現在、Ominauthから得たセッションに自分のFacebookのハッシュデータを保存しておきます。

答えて

0

Omniauthが提供する認証ハッシュを使用すると、ユーザー情報を取得できるはずです。

例えば、ハッシュはthisのような構造になっています。私は、IDとURLを取得することができたが、彼らはサインアップしてクリックすると、今どのように私は、ユーザーにこれを入れない

facebook_uid = user_auth.uid 
facebook_url = user.user_info.urls 
+0

: あなたは、このようなユーザー情報を引き出すことができます。私は彼らのアカウントでそれを保存したい。 – Kevin

+0

あなたはハッシュ権にアクセスできると言いますか?デバイスコントローラの新しいメソッドをオーバーライドして、必要なデータ値を格納します。 http://stackoverflow.com/questions/3546289/override-devise-registrations-controller –

+0

ありがとう、私はこれを試してみます。 – Kevin

関連する問題