Esta página de referência documenta os endpoints e interfaces oferecidos pelo Google que seu app usa durante o processo de vinculação de contas baseada em OAuth.
Pré-requisitos e padrões
Para interagir com esses endpoints do Google, sua integração precisa seguir estes padrões:
- OAuth 2.0: em conformidade com a RFC 6749.
- JSON Web Tokens (JWT): em conformidade com a RFC 7519 (para vinculação simplificada e RISC).
- Tokens de eventos de segurança: em conformidade com a RFC 8417 (para RISC).
- HTTPS: todas as solicitações precisam ser feitas por uma conexão HTTPS segura.
URI de redirecionamento do OAuth
O endpoint em que seu serviço redireciona o navegador do usuário após a autenticação e o consentimento bem-sucedidos. O parâmetro de caminho YOUR_PROJECT_ID é o ID que você configura durante o registro.
- URL:
https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID URL do sandbox:
https://oauth-redirect-sandbox.googleusercontent.com/r/YOUR_PROJECT_IDMétodo:
GET(usando o redirecionamento do navegador)
Parâmetros de solicitação
Ao redirecionar o usuário de volta para o Google, os parâmetros precisam ser anexados ao URL. Dependendo do fluxo do OAuth usado, esses parâmetros são formatados como uma string de consulta (fluxo de código de autorização) ou como um fragmento do URL (fluxo implícito).
| Parâmetro | Descrição |
|---|---|
code |
(Obrigatório para o fluxo de código de autorização) O código de autorização gerado pelo seu serviço. |
state |
(Obrigatório) O valor do estado não modificado originalmente recebido do Google. |
access_token |
(Obrigatório para o fluxo implícito) O token de acesso de longa duração gerado pelo seu serviço. |
token_type |
(Obrigatório para o fluxo implícito) Precisa ser bearer. |
Respostas de erro
Se a solicitação ao URI de redirecionamento do OAuth estiver malformada, você vai receber um erro HTTP 400 Bad Request. O corpo da resposta vai conter um objeto JSON com a seguinte estrutura:
| Campo | Descrição |
|---|---|
sendPostBody |
Determina se o JS precisa redirecionar para o redirectUri com POST. Normalmente, false nesse cenário. |
errorMessage |
Uma mensagem de erro a ser exibida ao cliente quando o redirecionamento não puder ser concluído. Para fragmentos ausentes, é "A URI fragment or query string must be set." |
Respostas de erro do OAuth 2.0
Se o usuário negar o consentimento ou se o serviço encontrar um erro, ele
precisará redirecionar o usuário de volta para o URI de redirecionamento do OAuth com parâmetros de erro
do OAuth 2.0 padrão (como error=access_denied). O Google vai processar esses
parâmetros e mostrar uma tela de erro adequada ao usuário.
API RISC (opcional)
Usado pelo seu serviço para notificar proativamente o Google quando um usuário desvincula a conta na sua plataforma usando o protocolo RISC, garantindo que as duas plataformas permaneçam sincronizadas.
- URL:
https://risc.googleapis.com/v1/events:publish - Método:
POST - Autenticação:exige um token de conta de serviço do Google com as permissões adequadas.
- Content-Type:
application/json
Declarações de token de evento de segurança
Os tokens de eventos de segurança usados para notificar o Google sobre eventos de revogação de token precisam obedecer aos requisitos na tabela a seguir:
| Reivindicar | Descrição |
|---|---|
iss |
Declaração do emissor:um URL hospedado por você e compartilhado com o Google durante o registro. |
aud |
Declaração de público-alvo:identifica o Google como o destinatário do JWT. Ele precisa ser definido como google_account_linking. |
jti |
Declaração de ID do JWT:um ID exclusivo gerado para cada ocorrência de segurança. |
iat |
Declaração "Emitido em":é um valor NumericDate que representa o momento em que esta ocorrência de segurança foi criada. |
toe |
Horário da reivindicação do evento:é um valor NumericDate opcional que representa o horário em que o token foi revogado. |
exp |
Declaração de tempo de expiração:não inclua esse campo, porque o evento que resultou nesta notificação já ocorreu. |
events |
Declaração de eventos de segurança:é um objeto JSON e precisa incluir apenas um evento de revogação de token com os seguintes campos:
|
Para mais informações sobre tipos e formatos de campo, consulte JSON Web Token (JWT)
Interface de vinculação no app "Flip-Back"
Para o App Flip, seu app móvel precisa retornar o código de autorização ou o token de acesso ao app Google.
Android (resultado da intent)
O app é aberto usando uma intent. Depois do consentimento, ele termina e retorna um resultado ao Google. Para mais informações, consulte o guia de implementação do Android.
- Ação:
com.google.android.gms.auth.CODE_AVAILABLE - Extras:
code,state,access_token,token_type.
iOS (esquema de URL personalizado e links universais)
Seu app abre o Google usando um esquema de URL personalizado ou um link universal HTTPS. Para mais informações, consulte o guia de implementação do iOS.
- Formato:
<return_url>?code=AUTHORIZATION_CODE&state=STATE_STRING