2016-04-05 5 views
0

Я использую жемчужину Sorcery с внешним подмодулем. По какой-то причине я не получаю электронную почту от Facebook, и я уверен, что все правильно настроено. Я пытаюсь устранить эту проблему дальше, но я не могу понять, как читать, какие данные возвращаются через oauth, чтобы проверить, где вещи разрушаются. Где я могу заглянуть и прочитать эту информацию? Благодаря!Доступ к данным об аутэте доступа Sorcery

Вот моя конфигурация колдовства.

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

Ну, технически это отвечает на вопрос о том, как узнать, что возвращается.

Внутри вашего контроллера oauth, если вы вызываете access_token.get('me?fields=email') или какие-либо поля, которые вы хотите получить, вы получите ответ с заданным полем URL. Скопируйте этот URL в браузер, и вы получите список ваших данных JSON. В моем случае я ничего не получаю с помощью электронной почты, но я могу вернуть first_name, last_name, name. Не совсем уверен, почему я все еще не могу получить электронную почту, но, надеюсь, это поможет кому-то устранить неполадки в будущем.

Другой способ - создать URL-адрес самостоятельно, если у вас есть access_token.

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

маркер доступа является извлекаемый с @access_token.token от контроллера OAuth.

UPDATE

Так глупо ... У меня был конфиг правильно, но, видимо, никогда не вышли из Facebook, так как я сделал соответствующие поправки. Выход из системы и наличие oauth connect снова, похоже, фиксировали вещи.

 Смежные вопросы

  • Нет связанных вопросов^_^