2016-04-05 7 views
0

私は外部サブモジュールとソーサリー宝石を使用しています。何らかの理由で私はFacebookからのメールを返信していないし、正しく設定されていると確信している。私はこれをさらにトラブルシューティングしようとしていますが、どのデータがoauth経由で返されて読み込まれているかを理解することができません。この情報はどこで手に入りますか?ありがとう!ソーサリーoauth応答データ

ここは私の魔法の設定です。

Rails.application.config.sorcery.submodules = [:external] 

Rails.application.config.sorcery.configure do |config| 

    config.external_providers = [:facebook, :google] 

    config.facebook.key = "#{Rails.application.secrets.sorcery_facebook_key}" 
    config.facebook.secret = "#{Rails.application.secrets.sorcery_facebook_secret}" 
    config.facebook.callback_url = "#{Rails.application.secrets.sorcery_facebook_callback_url}" 
    config.facebook.user_info_path = "me?fields=email,first_name,last_name" 
    config.facebook.user_info_mapping = {:email => "email"} 
    config.facebook.access_permissions = ["email"] 
    config.facebook.scope = "email" 
    config.facebook.display = "popup" 
    config.facebook.api_version = "v2.5" 

    config.user_config do |user| 
    user.authentications_class = Authentication 
    end 

    config.user_class = User 
end 

答えて

0

これは、技術的には、返されているものを見つける方法の質問に答えます。

access_token.get('me?fields=email')などのフィールドを呼び出す場合はoauthコントローラーの中で、必要なフィールドを入力すると、URLフィールドが設定された応答が得られます。そのURLをブラウザにコピーすると、データのJSONリストが表示されます。私の場合、私は電子メールで何も得られませんが、私はfirst_name、last_name、nameを返すことができます。どうして私はまだメールを受け取ることができないのか分かりませんが、将来的に誰かがトラブルシューティングをするのに役立ちます。

access_tokenが利用可能な場合は、別の方法でURLを自分で作成することもできます。

https://graph.facebook.com/me?access_token=<access token goes here>&fields=first_name,last_name,email

アクセストークンのOAuthコントローラから@access_token.tokenと回収可能です。だから、愚かな

UPDATE

...私は、設定が正しいだったが、私は、適切な修正をしたのだので、明らかにFacebookのからログアウトしたことがありませんでした。ログアウトしてoauthに再度接続すると、固定されているようです。

関連する問題