OAuth2, запрашивающий дополнительные области

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

Google описывает процесс выполнения этого здесь.

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

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


person Razvan Bangu    schedule 08.02.2017    source источник


Ответы (1)


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

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

Больше информации

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

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

person DaImTo    schedule 09.02.2017
comment
Спасибо за предложение. Я попытался установить параметр loginHint в адрес электронной почты пользователя, и хотя он, кажется, больше не отображает другие учетные записи Google при запросе на выбор учетной записи, он по-прежнему отображает кнопку «Использовать другую учетную запись». Это, безусловно, улучшение, однако оно по-прежнему оставляет пользователю возможность войти в другую учетную запись. - person Razvan Bangu; 10.02.2017