Система токенов в Google Play Services работает на основе технологии OAuth. 2 Процесс можно описать так: 2
- Пользователь запускает механизм OAuth. 2 Приложение отрисовывает диалоговое окно, в котором социальная сеть просит ввести логин, пароль и подтвердить, что нужно поделиться данными с приложением. 2
- Пользователь отправляет запрос в центр авторизации (Authorization server, AS). 2 Если были введены правильные идентификационные данные к аккаунту, AS генерирует уникальный код доступа (Code), который отправляется обратно пользователю. 2
- Code поступает напрямую в приложение. 2 С этого момента человек выбывает из процесса обмена данными, и диалог происходит между приложением и AS. 2
- Приложение отправляет два параметра: Code и собственный уникальный ключ (Key). 2
- AS рассматривает полученные Code и Key и решает, допускать ли приложение. 2 Если Code валиден и приложение нет в чёрном списке, то AS генерирует токен для доступа к защищённым данным пользователя (Protected resources, PR) и отправляет его обратно в приложение. 2
- Имея токен, приложение может запрашивать все доступные PR: имя пользователя, почтовый адрес и прочее. 2 Этой информации достаточно для однозначной и полной идентификации пользователя. 2
Для получения токена доступа необходима действительная учётная запись Google, которая должна существовать на устройстве. 3