Несколько месяцев назад мы внедрили Google OAuth для нашего веб-сайта. На данный момент два пользователя (из ~ 100) имеют неполные профили информации о пользователе. Мы звоним по адресу 'https://www.googleapis.com/oauth2/v1/userinfo? 'с действительным токеном, а ответ json содержит только [locale, Verified_email, email, id].
Документы (https://developers.google.com/accounts/docs/OAuth2Login#userinfocall) не являются явными, но то, как я их интерпретирую,
Ответ должен ВСЕГДА включать: [идентификатор, адрес электронной почты, подтвержденный_почта, имя, данное_имя, имя_семейства, часовой пояс, пол] и ИНОГДА включать: [изображение, язык]
Кто-нибудь знает, какая гарантия идет с UserInfo API? Должен ли я отклонять неполные профили как недействительные? Есть ли другое объяснение того, почему профиль был неполным?
ОБНОВЛЕНИЕ 3/6/14
Мне удалось воспроизвести проблему. Мы отправляем пользователя на запрос Google, две области:
https://www.googleapis.com/auth/userinfo.profile
и
https://www.googleapis.com/auth/userinfo.email
Насколько я могу судить, Google не позволяет пользователям выбирать, какие области они разрешают. Все или ничего. Однако мне удалось удалить область userinfo.profile из URL-адреса и перезагрузить страницу. Это привело к тому, что меня отправили обратно с действующим токеном, но не с правильной областью действия. Мне нужно попасть в конечную точку tokeninfo и убедиться, что разрешена правильная область.