Это задавали много раз, но кажется, что для этого нет никакой известной работы, поэтому я отправляю этот вопрос в надежде, что у кого-то есть работа для него.Facebook OAuth2 не предоставляет адрес электронной почты пользователя
Я использую NodeJS, PassportJS-Facebook.
app.get("/auth/facebook",
passport.authenticate("facebook", {
scope : [ "email" ]
}),
function (req, res) {
});
Сначала я подумал, что это проблема PassportJS, но я определенно устранил эту возможность.
Счет Facebook пользователь Я ясно с помощью гласит:
This app needs:
Your basic info
Your email address ([email protected])
Некоторые ссылки на этой известной проблемы (не решенной!): https://developers.facebook.com/bugs/298946933534016 https://developers.facebook.com/bugs/429653750464521 https://developers.facebook.com/bugs/482815835078469
Таким образом, вы используете службу OAuth на Facebook ? Если да, вы получаете электронную почту пользователя? Как? «Прямой» путь? Обход?
Не работает, у меня уже есть: 'profileFields: [" id "," name "," first_name "," last_name "," link "," username "," gender "," locale "," age_range " «displayName», «photos», «email»] ' – Poni
. Переопределение опции profileUrl кажется серьезным взломом, что также подразумевает ошибку в самом паспорте. – Poni
Я подтверждаю, что с помощью работы profileUrl он дает мне электронное письмо. Наверное, я открою ошибку в проекте Passport-Facebook. Спасибо Eugenio! – Poni