Есть ли способ * только * получить адрес электронной почты пользователя при реализации Google OAuth2?
У меня есть кнопка "Войти в Google+" на моей странице. Когда люди нажимают на него, я хочу, чтобы они разрешили "Просмотр вашего адреса электронной почты".
Я не хочу "Знать, кто вы в Google" или "Просмотреть основную информацию о своей учетной записи". Я хочу только их адрес электронной почты.
Я играю на игровой площадке OAuth 2.0 (https://developers.google.com/oauthplayground/) и вижу следующее:
Область: email
Запросы
- Знайте, кто вы в Google
- Просмотр вашего адреса электронной почты
Область действия: https://www.googleapis.com/auth/userinfo.email
(и эта устаревшая версия)
Запросы
- Знайте, кто вы в Google
- Просмотр вашего адреса электронной почты
Ответы
Ответ 1
Действительно, я тоже это заметил. И я нашел объяснение с февраля 2013 года здесь:
Это намеренное изменение, чтобы более точно сообщать пользователям набор разрешений, которые предоставляются. Благодаря знанию адреса электронной почты пользователя через косвенные средства можно найти адрес профиля пользователя. В интересах более точного раскрытия, таким образом, мы побуждаем пользователей одобрять такое раскрытие.
Ответ 2
Не то, что вы хотите, но сочетание profile
и email
по крайней мере даст одно менее страшное описание для первого:
Это приложение хотело бы:
- Просмотр базовой информации о вашей учетной записи
- Просмотр вашего адреса электронной почты
... с помощью первого высказывания:
Дополнительная информация
Просмотр своего имени, общедоступного профиля и фотографии
Просмотреть свой пол
Просмотр вашей страны, языка и часового пояса.
Мне это кажется лучше, чем неопределенное Это приложение запрашивает разрешение связать вас с вашим общедоступным профилем Google, который можно получить как Дополнительная информация для знайте, кто вы в Google+, если явно не используете область profile
или при использовании области openid
.
![dPUcz.png]()
В стороне: LinkedIn OAuth 2 также всегда нуждается в чтобы предоставить доступ к вашему профилю обзора, даже если приложение нуждается только в некоторых уникальный идентификатор. В отличие от объяснения Google в ответе Оуэна, я предполагаю, что LinkedIn действительно хочет, чтобы разработчики использовали свои сетевые функции.