2

私はFacebook認証を実装しようとしています。 私はまさにこのガイドRails 5でFacebookOmniauthを使用しています

https://www.crondose.com/2016/12/guide-integrating-omniauth-rails-5-facebook-login-feature/

に続き、このエラーI、[2017-11-07T00:55:47.114884#12099]

取得INFO - omniauth:(Facebookの) コールバックをフェーズ開始。 E、[2017-11-07T00:55:47.489634#12099]エラー - omniauth :(facebook)認証に失敗しました! invalid_credentials:のOAuth2 ::エラー、:

FacebookのAPIバージョンv2.10

私はあるあなたのApp IDまたはのAppシークレットので、あなたはおそらく、このエラーを得ているruby 2.4.0Rails 5.1.4

+0

あなたは 'omniauth-facebook'バージョンを私に言うことができますか? –

+0

ありがとうPardeep!私は宝石のバージョンを指定しなかった。私はちょうど "gem 'omniauth-facebook'を入れておきます。 – Takuya

+0

宝石のバージョンは、 'Gemfile.lock'にあります。 –

答えて

0

を使用しています間違っている。

# config/initializers/devise.rb 
config.omniauth :facebook, <your App Id>, <your App Secret>, 
    callback_url: "http://localhost:3000/users/auth/facebook/callback" 

もう一つのヒント:あなたの初期化子が正しいFacebookのAPIの資格を持っていることを確認し Facebookは今、あなたが戻ってFacebookのからするフィールドを指定する必要があります。つまり、Facebookユーザーの電子メールアドレスが必要な場合は、具体的に要求する必要があります。以前はデフォルトで返されていました。フィールドは、Devise構成のscopeパラメーターを使用して要求できます。例えば

、これを行うには、Facebookのユーザーの電子メールと名前を要求する:

# config/initializers/devise.rb 
config.omniauth :facebook, <your App Id>, <your App Secret>, 
    callback_url: "http://localhost:3000/users/auth/facebook/callback", 
    scope: 'email,name' 
+0

ありがとうTom!最初のものはconfig.omniauth:facebook、、<あなたのApp Secret>、 "'でしょうか?私はそれが正しいと確信しています。もう1つは私も試してもうまくいかなかった、他のチップ,,,? – Takuya

+0

」と「<あなたのApp Secret>」を明らかにするには、Facebookから取得する資格情報にする必要があります。ランダムな文字列になります。 'dkjfsdljfiowfjwejf43j'などです。 –

関連する問題