Как настроить доступ к API Google для запроса изображения пользователя при аутентификации? В настоящее время 'профиль' содержит только следующие свойства после того, как пользователь аутентифицированным: преуспевающимPassportjs - Как я могу запросить изображение пользователя с помощью стратегии Google?
profile.identifier: (строка)
profile.displayName: (строка)
profile.emails: (объект)
имя: (объект)
Невозможно ли запросить изображение учетной записи пользователя? Вот моя текущая конфигурация паспорта/стратегия Google:
passport.use(new GoogleStrategy({
clientID: CLIENT_ID,
clientSecret: CLIENT_SECRET,
returnURL: 'http://localhost:3000/auth/google/return',
realm: 'http://localhost:3000'
},
function(identifier, profile, done) {
console.log('identifier ' + identifier)
for(var p in profile){
console.log(p + ' : ' + profile[p])
if(p === 'name'){
for(var n in profile[p]){
console.log(n + ' : ' + profile[p][n])
}
}
}
}
));
Вы можете видеть, что я осматриваю профиль, чтобы увидеть, что информация возвращается. Я предполагаю, что это нужно как-то настроить на консоли Google Api. Является ли это функцией api для Google+?
Это интересно, потому что я видел другие примеры людей, получающих информацию из свойства profile._json. Но это свойство, похоже, не существует в моем профиле obj. profile._json === 'undefined' – Nick
Вы используете стратегию Google OpenID. Вместо этого попробуйте OAuth2. Это возвращает свойство _json, о котором я упоминал в своем ответе: https://github.com/jaredhanson/passport-google-oauth –
Отлично. OAuth2 дает мне то, что мне нужно. Благодаря! – Nick