Я используюMeteor.loginWithFacebook не хранить адрес электронной почты
На сервере:
ServiceConfiguration.configurations.remove({
service: 'facebook'
});
ServiceConfiguration.configurations.upsert(
{ service: 'facebook' },
{ $set: {
appId: 'xxxxxxxxxxxxxxxx',
secret: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
}
}
);
На клиенте:
Meteor.loginWithFacebook({requestPermissions: ['email']}, function(error){
if (error) {
throwError('Could not log in');
} else {
// success
}
});
Эта конфигурация предлагает пользователю Facebook проверки с доступом к электронной почте и не возвращает никаких ошибок. Новый пользователь имеет магазины с правильным именем и идентификатором. Но это электронное письмо не сохраняется в объекте пользователя.
Это то, что я получаю, когда я вывожу пользователя из оболочки.
{ _id: 'xxxxxxxxxxxxxxxxx',
createdAt: Mon Jul 13 2015 13:36:21 GMT+0200 (CEST),
services:
{ facebook:
{ accessToken: 'xxxxxxxxxxxxxxxxxxxxx...',
expiresAt: 1441971380621,
id: 'xxxxxxxxxxxxxxxxx',
name: 'xxxx xxxxxx' },
resume: { loginTokens: [Object] } },
profile: { name: 'xxxx xxxxxx' } }
Почему адрес электронной почты не сохраняется в Facebook?
Добавлено выпуска Метеор https://github.com/meteor/meteor/issues/4743 и код для воспроизведения ошибки: https://github.com/KnutSv/Meteor-facebook-login-email-bug – KnutSv