Facebook не возвращает электронную почту пользователя

Я использую passport-facebook для реализации ручного метода входа в Facebook, код, реализующий его, находится в соединение J, поэтому следующий код актуален:

   var Strategy = require('passport-facebook').Strategy;
    passport.use(new Strategy({
        clientID: conf.facebook.apiKey,
        clientSecret: conf.facebook.secret,
        callbackURL: conf.baseURL + 'auth/facebook/callback'
    }, exports.callback));

    app.get('/auth/facebook',
        passport.authenticate('facebook', { authType: 'rerequest', scope: conf.facebook.scope ? conf.facebook.scope.split(' ') : [ 'public_profile,email' ] }));

URL, который отправляется

https://www.facebook.com/dialog/oauth?auth_type=rerequest&response_type=code&redirect_uri=http%3A%2F%2Flocal.thingswelove.org%2Fauth%2Ffacebook%2Fcallback&scope=public_profile%2Cemail&client_id=MY CLIENT ID HERE

Я сделал первоначальный запрос, в котором я не зарегистрировал область действия должным образом, поэтому я добавил параметр rerequest к более поздним запросам.

Я тестирую со своей учетной записью и, конечно, знаю, что Facebook знает мою электронную почту. Однако данные, которые я получаю, выглядит так

{
 "facebookId": "numerical id",
 "profile": {
  "id": "numerical id",
  "displayName": "my name",
  "name": {},
  "provider": "facebook",
  "_raw": "{\"name\":\"my name\",\"id\":\"numerical id\"}",
  "_json": {
   "name": "my name",
   "id": "numerical id"
  }
 }
}

Так или иначе, я хотел бы заставить вещи работать так, чтобы я получил электронное письмо, возвращенное в моем объекте данных.

0 ответов

Другие вопросы по тегам