На этой справочной странице описаны предлагаемые Google конечные точки и интерфейсы, которые ваше приложение использует в процессе привязки учетной записи на основе OAuth .
Предварительные требования и стандарты
Для успешного взаимодействия с этими конечными точками Google ваша интеграция должна соответствовать следующим стандартам:
- OAuth 2.0 : соответствует RFC 6749 .
- JSON Web Tokens (JWT) : Соответствует RFC 7519 (для упрощенной привязки и RISC).
- Токены событий безопасности : соответствуют RFC 8417 (для RISC).
- HTTPS : Все запросы должны осуществляться через защищенное HTTPS-соединение.
URI перенаправления OAuth
Конечная точка, куда ваш сервис перенаправляет браузер пользователя после успешной аутентификации и получения согласия. Параметр пути YOUR_PROJECT_ID — это идентификатор, который вы указываете при регистрации .
- URL:
https://oauth-redirect.googleusercontent.com/r/ YOUR_PROJECT_ID URL песочницы:
https://oauth-redirect-sandbox.googleusercontent.com/r/ YOUR_PROJECT_IDМетод:
GET(с использованием перенаправления в браузере)
Параметры запроса
При перенаправлении пользователя обратно на сайт Google к URL-адресу необходимо добавить параметры. В зависимости от используемого потока OAuth эти параметры форматируются либо как строка запроса (поток с кодом авторизации), либо как фрагмент URL-адреса (неявный поток).
| Параметр | Описание |
|---|---|
code | (Обязательно для потока авторизации по коду) Код авторизации, сгенерированный вашим сервисом. |
state | (Обязательно) Неизмененное значение состояния, первоначально полученное от Google. |
access_token | (Необходимо для неявного потока) Долгосрочный токен доступа, сгенерированный вашим сервисом. |
token_type | (Обязательно для неявного потока) Должен быть bearer . |
Ответы об ошибках
Если запрос к URI перенаправления OAuth имеет некорректный формат, вы получите ошибку HTTP 400 Bad Request . Тело ответа будет содержать объект JSON со следующей структурой:
| Поле | Описание |
|---|---|
sendPostBody | Определяет, следует ли выполнять перенаправление JavaScript на указанный redirectUri с помощью POST-запроса. В этом случае обычно значение false . |
errorMessage | Сообщение об ошибке, которое будет отображаться клиенту, если перенаправление не может быть выполнено. Для отсутствующих фрагментов это "A URI fragment or query string must be set." |
Ответы об ошибках OAuth 2.0
Если пользователь откажет в согласии или ваш сервис выдаст ошибку, он должен перенаправить пользователя обратно на URI перенаправления OAuth со стандартными параметрами ошибки OAuth 2.0 (например, error=access_denied ). Google обработает эти параметры и отобразит пользователю соответствующее сообщение об ошибке.
RISC API (необязательно)
Используется вашим сервисом для заблаговременного уведомления Google о том, когда пользователь отключает свою учетную запись на вашей платформе с помощью протокола RISC , обеспечивая синхронизацию обеих платформ.
- URL:
https://risc.googleapis.com/v1/events:publish - Метод:
POST - Аутентификация: Требуется токен учетной записи службы Google с соответствующими правами доступа.
- Content-Type:
application/json
Запросы токенов событий безопасности
Токены событий безопасности, используемые для уведомления Google о событиях отзыва токенов, должны соответствовать требованиям, указанным в следующей таблице:
| Требовать | Описание |
|---|---|
iss | Заявление эмитента: Это URL-адрес, который вы размещаете, и он передается в Google во время регистрации. |
aud | Утверждение аудитории: Этот параметр идентифицирует Google как получателя JWT-токена. Необходимо установить значение google_account_linking . |
jti | JWT ID Claim: Это уникальный идентификатор, который генерируется для каждого токена события безопасности. |
iat | Дата выдачи токена: это числовое значение NumericDate , указывающее время создания данного токена события безопасности. |
toe | Время события: это необязательное значение NumericDate , представляющее время аннулирования токена. |
exp | Заявление о сроке действия: Не включайте это поле, поскольку событие, повлекшее за собой это уведомление, уже произошло. |
events | Security Events Claim: This is a JSON object, and must include only a single token revocation event containing the following fields:
|
Для получения дополнительной информации о типах и форматах полей см. JSON Web Token (JWT).
Интерфейс приложения App Flip с функцией «обратного перелистывания».
Для App Flip ваше мобильное приложение должно возвращать код авторизации или токен доступа приложению Google.
Android (результат Intent)
Ваше приложение открывается с помощью Intent. После получения согласия оно завершает работу и возвращает результат в Google. Для получения дополнительной информации см. руководство по реализации для Android .
- Действие:
com.google.android.gms.auth.CODE_AVAILABLE - Дополнительные параметры:
code,state,access_token,token_type.
iOS (Пользовательская схема URL-адресов и универсальные ссылки)
Ваше приложение открывает Google, используя либо пользовательскую схему URL-адресов, либо универсальную ссылку HTTPS. Для получения дополнительной информации см. руководство по реализации для iOS .
- Формат:
<return_url>?code=AUTHORIZATION_CODE&state=STATE_STRING