Referência da API HTML Fazer login com o Google

Esta página de referência descreve a API dos atributos de dados HTML do recurso Fazer login com o Google. Você pode usar a API para exibir a solicitação de um toque ou o botão "Fazer login com o Google" nas suas páginas da Web.

Elemento com o ID "g_id_onload"

Você pode colocar atributos de dados do Fazer login com o Google em elementos visíveis ou invisíveis, como <div> e <span>. O único requisito é que o ID do elemento seja definido como g_id_onload. Não coloque esse ID em vários elementos.

Atributos de dados

A tabela a seguir lista os atributos de dados com as respectivas descrições:

Atributo
data-client_id ID do cliente do seu aplicativo
data-auto_prompt Exibir toque do Google One.
data-auto_select Ativa a seleção automática com um toque no Google One.
data-login_uri O URL do endpoint de login
data-callback O nome da função do gerenciador de token do ID JavaScript
data-native_login_uri O URL do endpoint do gerenciador de credenciais de senha
data-native_callback O nome da função do gerenciador de credenciais de senha do JavaScript
data-native_id_param O nome do parâmetro para o valor credential.id
data-native_password_param O nome do parâmetro para o valor credential.password
data-cancel_on_tap_outside Controla o cancelamento da solicitação se o usuário clicar fora dela.
data-prompt_parent_id O ID do DOM do elemento do contêiner da solicitação de um toque
data-skip_prompt_cookie Ignora o "um toque" se o cookie especificado tiver um valor não vazio.
data-nonce String aleatória para tokens de ID
data-context O título e as palavras no comando de um toque
data-moment_callback O nome da função do listener de notificações de status da interface de solicitação
data-state_cookie_domain Se você precisar chamar um toque no domínio pai e nos subdomínios dele, transmita o domínio pai para esse atributo para que um único cookie compartilhado seja usado.
data-ux_mode Fluxo de UX do botão "Fazer login com o Google"
data-allowed_parent_origin As origens que têm permissão para incorporar o iframe intermediário. O recurso "um toque" será executado no modo iframe intermediário se esse atributo estiver presente.
data-intermediate_iframe_close_callback Modifica o comportamento padrão do iframe intermediário quando o usuário fecha manualmente o recurso "Um toque".
data-itp_support Ativa a UX atualizada com um toque em navegadores ITP.
data-login_hint Pular a seleção da conta com uma dica do usuário.
data-hd Limite a seleção de contas por domínio.
data-use_fedcm_for_prompt Permita que o navegador controle as solicitações de login do usuário e media o fluxo de login entre seu site e o Google.

Tipos de atributo

As seções abaixo contêm detalhes sobre o tipo de cada atributo e um exemplo.

data-client_id

Esse atributo é o ID do cliente do seu app, que é encontrado e criado no console do Google Cloud. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Sim data-client_id="CLIENT_ID.apps.googleusercontent.com"

data-auto_prompt

Esse atributo determina se um toque será mostrado ou não. O valor padrão é true. O toque do Google One não aparece quando o valor é false. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
boolean Opcional data-auto_prompt="true"

dados-auto_select

Esse atributo determina se um token de ID será retornado automaticamente, sem qualquer interação do usuário, se apenas uma sessão do Google tiver aprovado o app. O valor padrão é false. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
boolean Opcional data-auto_select="true"

data-login_uri

Esse atributo é o URI do endpoint de login.

O valor precisa corresponder exatamente a um dos URIs de redirecionamento autorizados do cliente OAuth 2.0 configurado no Console de APIs. Além disso, ele precisa estar em conformidade com nossas regras de validação do URI de redirecionamento.

Esse atributo pode ser omitido se a página atual for sua página de login. Nesse caso, a credencial é postada nela por padrão.

A resposta da credencial do token de ID é postada no endpoint de login quando nenhuma função de callback é definida e o usuário clica nos botões Fazer login com o Google ou com um toque ou quando ocorre a assinatura automática.

Consulte a tabela a seguir para mais informações:

Tipo Opcional Exemplo
URL O padrão é o URI da página atual ou o valor especificado.
Ignorado quando data-ux_mode="popup" e data-callback estão definidos.
data-login_uri="https://www.example.com/login"

O endpoint de login precisa processar solicitações POST que contenham uma chave credential com um valor de token de ID no corpo.

Veja a seguir um exemplo de solicitação para o endpoint de login:

POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded

credential=ID_TOKEN

data-callback

Esse atributo é o nome da função JavaScript que processa o token de ID retornado. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Obrigatório se data-login_uri não estiver definido. data-callback="handleToken"

Um dos atributos data-login_uri e data-callback pode ser usado. Isso depende das seguintes configurações de componente e modo de UX:

  • O atributo data-login_uri é obrigatório para o modo UX do botão Fazer login com o Google redirect, que ignora o atributo data-callback.

  • Um desses dois atributos precisa ser definido para o modo UX do botão de login do Google popup e para o toque do Google One. Se ambos forem definidos, o atributo data-callback terá uma precedência maior.

As funções JavaScript dentro de um namespace não são compatíveis com a API HTML. Em vez disso, use uma função JavaScript global sem namespace. Por exemplo, use mylibCallback em vez de mylib.callback.

data-native_login_uri

Esse atributo é o URL do endpoint do gerenciador de credenciais de senhas. Se você definir o atributo data-native_login_uri ou data-native_callback, a biblioteca JavaScript vai recorrer ao gerenciador de credenciais nativo quando não houver uma sessão do Google. Não é possível definir os atributos data-native_callback e data-native_login_uri. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-login_uri="https://www.example.com/password_login"

callback_nativo_dados

Esse atributo é o nome da função JavaScript que processa a credencial de senha retornada do gerenciador de credenciais nativo do navegador. Se você definir os atributos data-native_login_uri ou data-native_callback, a biblioteca JavaScript vai recorrer ao gerenciador de credenciais nativo quando não houver uma sessão do Google. Não é possível definir data-native_callback e data-native_login_uri. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-native_callback="handlePasswordCredential"

As funções JavaScript dentro de um namespace não são compatíveis com a API HTML. Em vez disso, use uma função JavaScript global sem namespace. Por exemplo, use mylibCallback em vez de mylib.callback.

data-native_id_param

Quando você envia a credencial de senha para o endpoint do gerenciador de credenciais, é possível especificar o nome do parâmetro para o campo credential.id. O nome padrão é email. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
URL Opcional data-native_id_param="user_id"

data-native_password_param

Quando você envia a credencial de senha para o endpoint do gerenciador de credenciais, é possível especificar o nome do parâmetro para o valor credential.password. O nome padrão é password. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
URL Opcional data-native_password_param="pwd"

data-cancel_on_tap_outside

Esse atributo define se a solicitação de um toque será cancelada ou se o usuário clicar fora da solicitação. O valor padrão é true. Para desativá-lo, defina o valor como false. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
boolean Opcional data-cancel_on_tap_outside="false"

data-prompt_parent_id

Esse atributo define o ID DOM do elemento do contêiner. Se ela não estiver definida, a solicitação de um toque vai aparecer no canto superior direito da janela. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-prompt_parent_id="parent_id"

Esse atributo pula o "um toque" se o cookie especificado tiver um valor que não esteja vazio. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-skip_prompt_cookie="SID"

valor de uso único dos dados

Esse atributo é uma string aleatória usada pelo token de ID para evitar ataques de repetição. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-nonce="biaqbm70g23"

O valor de uso único é limitado ao tamanho máximo do JWT aceito pelo seu ambiente e às restrições de tamanho HTTP do navegador e do servidor individual.

contexto de dados

Esse atributo muda o texto do título e as mensagens mostradas no comando de um toque. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-context="use"

A tabela a seguir lista todos os contextos disponíveis e as descrições deles:

O contexto
signin "Fazer login com o Google"
signup "Inscreva-se com o Google"
use "Usar com o Google"

callback_moment

Esse atributo é o nome da função do listener de notificação de status da solicitação da interface. Para mais informações, consulte o tipo de dados PromptMomentNotification.

Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-moment_callback="logMomentNotification"

As funções JavaScript dentro de um namespace não são compatíveis com a API HTML. Em vez disso, use uma função JavaScript global sem namespace. Por exemplo, use mylibCallback em vez de mylib.callback.

Se você precisar exibir o recurso "One Tap" em um domínio pai e os subdomínios dele, transmita o domínio pai para esse atributo para que um único cookie de estado compartilhado seja usado. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-state_cookie_domain="example.com"

data-ux_mode

Esse atributo define o fluxo de UX usado pelo botão "Fazer login com o Google". O valor padrão é popup. Esse atributo não afeta a UX com um toque. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-ux_mode="redirect"

A tabela a seguir lista os modos de UX disponíveis e as descrições deles.

Modo UX
popup Executa o fluxo de UX de login em uma janela pop-up.
redirect Executa o fluxo de UX de login por um redirecionamento de página completa.

data-allowed_parent_origin

As origens que têm permissão para incorporar o iframe intermediário. O recurso "Um toque" será executado no modo iframe intermediário se esse atributo estiver presente. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string ou matriz de strings Opcional data-allowed_parent_origin="https://example.com"

A tabela a seguir lista os tipos de valores compatíveis e as descrições deles.

Tipos de valor
string Um URI de domínio único. "https://exemplo.com"
string array Uma lista de URIs de domínio separados por vírgula. "https://news.example.com,https://local.example.com"

Se o valor do atributo data-allowed_parent_origin for inválido, a inicialização com um toque do modo iframe intermediário vai falhar e ser interrompida.

Prefixos com caracteres curinga também são aceitos. Por exemplo, "https://*.example.com" corresponde a example.com e seus subdomínios em todos os níveis (por exemplo, news.example.com, login.news.example.com). O que você precisa ter em mente ao usar caracteres curinga:

  • As strings de padrão não podem ser compostas apenas por um caractere curinga e um domínio de nível superior. Por exemplo, https://*.com e https://*.co.uk são inválidos. Como mencionado acima, "https://*.example.com" corresponde a example.com e aos subdomínios dele. Também é possível usar uma lista separada por vírgulas para representar dois domínios diferentes. Por exemplo, "https://example1.com,https://*.example2.com" corresponde aos domínios example1.com, example2.com e subdomínios de example2.com.
  • Domínios curinga precisam começar com um esquema https:// seguro. Portanto, "*.example.com" é considerado inválido.

data-intermediate_iframe_close_callback

Modifica o comportamento padrão do iframe intermediário quando os usuários fecham manualmente o um toque tocando no botão "X" na interface com um toque. O comportamento padrão é remover o iframe intermediário do DOM imediatamente.

O campo data-intermediate_iframe_close_callback entra em vigor apenas no modo iframe intermediário. Ele afeta apenas o iframe intermediário, em vez do iframe de um toque. A interface de um toque é removida antes que o callback seja invocado.

Tipo Obrigatório Exemplo
função Opcional data-intermediate_iframe_close_callback="logBeforeClose"

As funções JavaScript dentro de um namespace não são compatíveis com a API HTML. Em vez disso, use uma função JavaScript global sem namespace. Por exemplo, use mylibCallback em vez de mylib.callback.

suporte_itp_dados

Esse campo determina se a UX atualizada com um toque precisa ser ativada em navegadores compatíveis com a Prevenção de Rastreamento Inteligente (ITP, na sigla em inglês). O valor padrão é false. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
boolean Opcional data-itp_support="true"

data-login_hint

Se o aplicativo sabe com antecedência qual usuário precisa estar conectado, ele pode fornecer uma dica de login ao Google. Quando bem-sucedida, a seleção da conta é ignorada. Os valores aceitos são: um endereço de e-mail ou um campo sub de token de ID.

Para mais informações, consulte a documentação do OpenID Connect para login_hint.

Tipo Obrigatório Exemplo
String. Pode ser um endereço de e-mail ou o valor do campo sub do token de ID. Opcional data-login_hint="elisa.beckett@gmail.com"

data-hd

Quando um usuário tiver várias contas e só precisar fazer login com a conta do Workspace, use essa opção para fornecer uma dica de nome de domínio ao Google. Quando bem-sucedido, as contas de usuário exibidas durante a seleção da conta são limitadas ao domínio fornecido. Um valor curinga: * oferece apenas contas do Workspace ao usuário e exclui contas pessoais (user@gmail.com) durante a seleção da conta.

Para mais informações, consulte a documentação do OpenID Connect para hd.

Tipo Obrigatório Exemplo
String. Um nome de domínio totalmente qualificado ou *. Opcional data-hd="*"

data-use_fedcm_for_prompt

Permita que o navegador controle as solicitações de login do usuário e media o fluxo de login entre seu site e o Google. O padrão é "false". Consulte a página Migrar para a FedCM para mais informações.

Tipo Obrigatório Exemplo
boolean Opcional data-use_fedcm_for_prompt="true"

Elemento com a classe "g_id_signin"

Se você adicionar g_id_signin ao atributo class de um elemento, ele será renderizado como um botão "Fazer login com o Google".

É possível renderizar vários botões "Fazer login com o Google" na mesma página. Cada botão pode ter as próprias configurações visuais. As configurações são definidas pelos atributos de dados a seguir.

Atributos de dados visuais

A tabela a seguir lista os atributos de dados visuais e as descrições deles:

Atributo
data-type O tipo de botão: ícone ou botão padrão.
data-theme O tema do botão. Por exemplo, "preenchido_azul" ou "preenchido_preto".
data-size O tamanho do botão. Por exemplo, pequeno ou grande.
data-text O texto do botão. Por exemplo, "Fazer login com o Google" ou "Inscrever-se com o Google".
data-shape A forma do botão. Por exemplo, retangular ou circular.
data-logo_alignment Alinhamento do logotipo do Google: à esquerda ou no centro.
data-width A largura do botão, em pixels.
data-locale O texto do botão é renderizado no idioma definido nesse atributo.
data-click_listener Se definida, essa função será chamada quando o botão "Fazer login com o Google" for clicado.
data-state Se definida, essa string retorna com o token de ID.

Tipos de atributo

As seções abaixo contêm detalhes sobre o tipo de cada atributo e um exemplo.

tipo de dados

O tipo de botão. O valor padrão é standard. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Sim data-type="icon"

A tabela a seguir lista todos os tipos de botão disponíveis e as descrições deles:

Tipo
standard
Um botão com texto ou informações personalizadas.
icon
Um botão de ícone sem texto.

data-theme

O tema do botão. O valor padrão é outline. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-theme="filled_blue"

A tabela a seguir lista os temas disponíveis e suas descrições:

Tema
outline
Um botão padrão com um fundo branco. Um botão de ícone com um fundo branco Um botão personalizado com fundo branco
O tema de botão padrão.
filled_blue
Um botão padrão com um plano de fundo azul Um botão de ícone com um fundo azul Um botão personalizado com um fundo azul
O tema do botão preenchido de azul.
filled_black
Um botão padrão com fundo preto Um botão de ícone com um fundo preto Um botão personalizado com fundo preto
O tema do botão preenchido em preto.

data-size

O tamanho do botão. O valor padrão é large. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-size="small"

A tabela a seguir lista os tamanhos de botão disponíveis e as descrições deles.

Tamanho
large
Um botão padrão grande Um botão de ícone grande Um botão grande e personalizado
Um botão grande.
medium
Um botão padrão médio Um botão de ícone médio
Um botão de tamanho médio.
small
Um botão pequeno Um pequeno botão de ícone
Um botão pequeno.

texto-dados

O texto do botão. O valor padrão é signin_with. Não há diferenças visuais para o texto dos botões de ícone que têm atributos data-text diferentes. A única exceção é quando o texto é lido para fins de acessibilidade da tela.

Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-text="signup_with"

A tabela a seguir lista os textos de botão disponíveis e as descrições deles:

Texto
signin_with
Um botão padrão chamado &quot;Fazer login com o Google&quot; Um botão de ícone sem texto visível
O texto do botão é "Fazer login com o Google".
signup_with
Um botão padrão chamado &quot;Inscreva-se com o Google&quot; Um botão de ícone sem texto visível
O texto do botão é "Inscrever-se com o Google".
continue_with
Um botão padrão chamado &quot;Continuar com o Google&quot; Um botão de ícone sem texto visível
O texto do botão é "Continuar com o Google".
signin
Um botão padrão chamado &quot;Fazer login&quot; Um botão de ícone sem texto visível
O texto do botão é "Fazer login".

formato de dados

A forma do botão. O valor padrão é rectangular. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-shape="rectangular"

A tabela a seguir lista os formatos de botão disponíveis e as descrições deles:

Formato
rectangular
Um botão retangular padrão Um botão de ícone retangular Um botão retangular personalizado
O botão retangular. Se usado para o tipo de botão icon, será igual a square.
pill
Um botão padrão em forma de pílula Um botão de ícone em forma de pílula Um botão personalizado em forma de pílula
O botão em forma de pílula. Se usado para o tipo de botão icon, será igual a circle.
circle
Um botão circular padrão Um botão de ícone circular Um botão circular personalizado
O botão em formato circular. Se usado para o tipo de botão standard, será igual a pill.
square
Um botão quadrado padrão Um botão de ícone quadrado Um botão quadrado personalizado
O botão quadrado. Se usado para o tipo de botão standard, será igual a rectangular.

alinhamento_do_logotipo dos dados

O alinhamento do logotipo do Google. O valor padrão é left. Esse atributo só se aplica ao tipo de botão standard. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-logo_alignment="center"

A tabela a seguir lista os alinhamentos disponíveis e as descrições deles:

logo_alignment
left
Um botão padrão com o logotipo do G à esquerda
Alinha o logotipo do Google à esquerda.
center
Um botão padrão com o logotipo do G no centro
Alinha o logotipo do Google ao centro.

largura de dados

A largura mínima do botão, em pixels. A largura máxima disponível é de 400 pixels.

Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-width=400

localidade de dados

Opcional. Mostre o texto do botão usando a localidade especificada. Caso contrário, o padrão será as configurações da Conta do Google ou do navegador do usuário. Adicione o parâmetro hl e o código de idioma à diretiva src ao carregar a biblioteca, por exemplo: gsi/client?hl=<iso-639-code>.

Se ela não for definida, a localidade padrão do navegador ou a preferência do usuário da sessão do Google vai ser usada. Portanto, usuários diferentes podem ver versões diferentes dos botões localizados e possivelmente com tamanhos diferentes.

Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-locale="zh_CN"

data-click_listener

Você pode definir uma função JavaScript que será chamada quando o usuário clicar no botão "Fazer login com o Google" usando o atributo data-click_listener.

  <script>
    function onClickHandler(){
      console.log("Sign in with Google button clicked...")
    }
  </script>
  .....
  <div class="g_id_signin"
      data-size="large"
      data-theme="outline"
      data-click_listener="onClickHandler">
  </div>

Neste exemplo, a mensagem Sign in with Google button clicks... é registrada no console quando o botão "Fazer login com o Google" é clicado.

data-state

Opcional: como vários botões "Fazer login com o Google" podem ser renderizados na mesma página, é possível atribuir uma string exclusiva a cada um deles. A mesma string retornaria com o token de ID para que você possa identificar em qual botão o usuário clicou para fazer login.

Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional data-state="button 1"

Integração no servidor

Os endpoints do lado do servidor precisam processar as seguintes solicitações HTTP POST.

O endpoint do gerenciador de tokens de ID

O endpoint do gerenciador de tokens de ID processa esse token. Com base no status da conta correspondente, é possível fazer o login do usuário e direcioná-lo para uma página de inscrição ou para uma página de vinculação de contas para que ele tenha mais informações.

A solicitação HTTP POST contém as seguintes informações:

Formato Nome Descrição
Cookie g_csrf_token Uma string aleatória que muda a cada solicitação para o endpoint do gerenciador.
Parâmetro de solicitação g_csrf_token Uma string igual ao valor do cookie anterior, g_csrf_token.
Parâmetro de solicitação credential O token de ID emitido pelo Google.
Parâmetro de solicitação select_by Como a credencial é selecionada.
Parâmetro de solicitação state Esse parâmetro só é definido quando o usuário clica em um botão "Fazer login com o Google" e o atributo state é especificado.

credencial

Quando decodificado, o token de ID é semelhante ao exemplo a seguir:

header
{
  "alg": "RS256",
  "kid": "f05415b13acb9590f70df862765c655f5a7a019e", // JWT signature
  "typ": "JWT"
}
payload
{
  "iss": "https://accounts.google.com", // The JWT's issuer
  "nbf":  161803398874,
  "aud": "314159265-pi.apps.googleusercontent.com", // Your server's client ID
  "sub": "3141592653589793238", // The unique ID of the user's Google Account
  "hd": "gmail.com", // If present, the host domain of the user's GSuite email address
  "email": "elisa.g.beckett@gmail.com", // The user's email address
  "email_verified": true, // true, if Google has verified the email address
  "azp": "314159265-pi.apps.googleusercontent.com",
  "name": "Elisa Beckett",
                            // If present, a URL to user's profile picture
  "picture": "https://lh3.googleusercontent.com/a-/e2718281828459045235360uler",
  "given_name": "Eliza",
  "family_name": "Beckett",
  "iat": 1596474000, // Unix timestamp of the assertion's creation time
  "exp": 1596477600, // Unix timestamp of the assertion's expiration time
  "jti": "abc161803398874def"
}

O campo sub é um identificador globalmente exclusivo da Conta do Google. Use o campo sub somente como identificador do usuário, porque ele é único entre todas as Contas do Google e nunca é reutilizado. Não use endereço de e-mail como identificador, porque uma Conta do Google pode ter vários endereços de e-mail em diferentes momentos.

Use os campos email, email_verified e hd para determinar se o Google hospeda e é autoritativo para um endereço de e-mail. Nos casos em que o Google é autoritário, o usuário é confirmado como proprietário legítimo da conta.

Casos em que o Google é autoritativo:

  • email tem um sufixo @gmail.com, esta é uma conta do Gmail.
  • email_verified é verdadeiro e hd está definido. Esta é uma conta do Google Workspace.

Os usuários podem se registrar em Contas do Google sem usar o Gmail ou o Google Workspace. Quando email não contém um sufixo @gmail.com e hd está ausente, o Google não é autoritativo, e a senha ou outros métodos de desafio são recomendados para verificar o usuário. email_verified também pode ser verdadeiro porque o Google verificou inicialmente o usuário quando a Conta do Google foi criada. No entanto, a propriedade da conta de e-mail de terceiros pode ter mudado.

O campo exp mostra o prazo de validade para verificar o token no lado do servidor. Leva uma hora para o token de ID recebido pelo recurso Fazer login com o Google. É preciso verificar o token antes do prazo de validade. Não use exp para gerenciamento de sessões. Um token de ID expirado não significa que o usuário está desconectado. Seu aplicativo é responsável pelo gerenciamento de sessão dos usuários.

select_by

A tabela a seguir lista os valores possíveis para o campo select_by. O tipo de botão usado com o estado da sessão e de consentimento é usado para definir o valor,

  • O usuário pressionou o botão de um toque ou "Fazer login com o Google" ou usou o processo de login automático sem toque.

  • Uma sessão existente foi encontrada ou o usuário selecionou e fez login em uma Conta do Google para estabelecer uma nova sessão.

  • Antes de compartilhar as credenciais do token de ID com seu aplicativo, o usuário

    • pressionar o botão de confirmação para autorizar o compartilhamento de credenciais; ou
    • já concedeu consentimento e usou a opção "Selecionar uma conta" para escolher uma Conta do Google.

O valor desse campo é definido como um desses tipos,

Valor Descrição
auto Login automático de um usuário com uma sessão atual que já havia dado permissão para compartilhar credenciais. Aplicável apenas a navegadores não compatíveis com o FedCM.
user Um usuário com uma sessão atual que já havia concedido consentimento pressionou o botão "Continuar como" com um toque para compartilhar as credenciais. Aplicável apenas a navegadores não compatíveis com o FedCM.
fedcm Um usuário pressionou o botão "Continuar como" com um toque para compartilhar credenciais usando o FedCM. Aplicável apenas aos navegadores compatíveis com a FedCM.
fedcm_auto Login automático de um usuário com uma sessão atual que já havia autorizado o compartilhamento de credenciais usando um toque da FedCM. Aplicável apenas aos navegadores compatíveis com a FedCM.
user_1tap Um usuário com uma sessão atual pressionou o botão "Continuar como" com um toque para dar consentimento e compartilhar credenciais. Aplicável apenas ao Chrome v75 e mais recentes.
user_2tap Um usuário sem uma sessão atual pressionou o botão "Continuar como" com um toque para selecionar uma conta e, em seguida, pressionou o botão "Confirmar" em uma janela pop-up para dar consentimento e compartilhar credenciais. Aplicável a navegadores não baseados no Chromium.
btn Um usuário com uma sessão que já concedeu consentimento pressionou o botão "Fazer login com o Google" e selecionou uma Conta do Google em "Escolher uma conta" para compartilhar credenciais.
btn_confirm Um usuário com uma sessão atual pressionou o botão "Fazer login com o Google" e o botão de confirmação para dar consentimento e compartilhar credenciais.
btn_add_session Um usuário que não tinha uma sessão e que havia concedido consentimento pressionou o botão "Fazer login com o Google" para selecionar uma Conta do Google e compartilhar credenciais.
btn_confirm_add_session Um usuário sem uma sessão atual pressionou primeiro o botão "Fazer login com o Google" para selecionar uma Conta do Google e, em seguida, pressionou o botão de confirmação para consentir e compartilhar credenciais.

state

Esse parâmetro é definido apenas quando o usuário clica em um botão "Fazer login com o Google" para fazer login e o atributo data-state do botão é especificado. O valor desse campo é o mesmo especificado no atributo data-state do botão.

Como vários botões "Fazer login com o Google" podem ser renderizados na mesma página, é possível atribuir uma string exclusiva a cada um deles. Portanto, você pode usar esse parâmetro state para identificar em qual botão o usuário clicou para fazer login.

Endpoint do gerenciador de credenciais de senha

O endpoint do gerenciador de credenciais de senha processa as credenciais de senha que o gerenciador nativo recupera.

A solicitação HTTP POST contém as seguintes informações:

Formato Nome Descrição
Cookie g_csrf_token Uma string aleatória que muda a cada solicitação para o endpoint do gerenciador.
Parâmetro de solicitação g_csrf_token Uma string igual ao valor do cookie anterior, g_csrf_token.
Parâmetro de solicitação email Esse token de ID que o Google emite.
Parâmetro de solicitação password Como a credencial é selecionada.