Аутентификация Ember Torii facebook не может получить электронную почту пользователя

Я использую Ember CLI + ember simple auth torii ссылка

чтобы получить код аутентификации от facebook для моего приложения ember.

Это мой environment.js файл

ENV['torii'] = {
    providers: {
      'facebook-oauth2': {
        apiKey:      '865549306850377',
        scope: 'email',
        //redirectUri: window.document.location.href
        redirectUri: 'http://localhost:4200/'
      }
    }
  };

И мой контроллер входа в систему выглядит так:

facebook: function() {

    var _this = this;
            this.get('session').authenticate('simple-auth-authenticator:torii', 'facebook-oauth2').then(function(data){
                console.log("status - ", _this.get('session'));
            });
        }

И логин.hbs -

<li><button {{action "facebook" "facebook-oauth2"}}>Facebook OAuth2</button></li>

После того, как пользователь нажмет на ссылку, откроется всплывающее окно facebook, и приложение ember получит токен.

Как мне получить идентификатор электронной почты пользователя вместе с этим токеном? Кто-нибудь сталкивался с подобной проблемой?


person Ajey    schedule 13.01.2015    source источник


Ответы (1)


Итак, вы используете oauth2, поэтому все, что вы когда-либо получите, — это токен авторизации. С этим токеном вы можете уйти и запросить другую информацию. Токен в основном предназначен только для ускорения проверки пользователей по вашему приложению.

Если вы хотите получить информацию о пользователе, вам потребуется создать другой метод (вероятно, на стороне вашего сервера), который меняет код авторизации на токен доступа: вот так (или, в качестве альтернативы, вы можете запросить токен доступа напрямую, что избавит от необходимости серверное решение.

Используя токен доступа, вы можете затем запросить идентификатор пользователя Facebook, используя конечную точку отладочного токена, и после этого вы сможете получить доступ к любой конечной точке для получения необходимой информации.

person Stephen Wright    schedule 29.01.2015