2017-02-08 1 views
1

Используя SDK для входа в систему Google, пользователь может войти в систему через OAuth2 с запрошенными по умолчанию областями. Может быть полезно не запрашивать каждую область приложения, которая может потребоваться, и вместо этого запрашивать дополнительные области позже, чтобы не подавлять пользователя при регистрации.OAuth2 Запрос дополнительных областей

В Google описан процесс для этого here.

Проблема заключается в том, что после того, как пользователь выполнил вход в систему с Google, при запросе дополнительных областей пользователь может переключить учетные записи Google и разрешить эти области использования с использованием другой учетной записи перед возвратом в мое приложение.

Есть ли способ, похожий на вызов - [GIDSignIn signIn], чтобы явным образом указать, какой пользователь я хочу подписать, и не разрешать изменять учетные записи?

ответ

1

Я не знаком с Google Войти в систему SDK. Большая часть того, что я сделал, написана сама, поэтому я не знаю, как этот SDK действительно работает. Однако при этом сервер аутентификации поддерживает то, что называется Login_hint, что должно позволить вам заставить их использовать конкретного пользователя.

login_hint адрес электронной почты или суб идентификатор Когда приложение знает, какой пользователь она пытается проверить подлинность, он может обеспечить этот параметр как намек на сервере аутентификации. Передавая эту подсказку будет либо заполнять поле электронной почты в форме входа, либо выбрать правильный сеанс множественного входа , тем самым упростив входной поток.

Подробнее

login_hint может быть адрес электронной почты пользователя или подстрока, что эквивалентно пользователя ID Google. Если вы не указали login_hint и пользователь в настоящий момент зарегистрирован, экран согласия содержит запрос об утверждении на выпуск электронного адреса пользователя до вашего приложения. (Читать дальше: login_hint.)

Если службы памяти Google Вход в систему SDK работает с openId connect, поэтому это должно быть возможно.

+0

Спасибо за предложение. Я попытался установить параметр loginHint в адрес электронной почты пользователя, и хотя он, похоже, больше не отображает какие-либо другие учетные записи google при запросе выбора учетной записи, он по-прежнему отображает кнопку «Использовать другую учетную запись». Это, безусловно, улучшение, однако оно по-прежнему оставляет пользователю возможность входа в другой аккаунт. –

Смежные вопросы