Referência da API Faça login com a API JavaScript do Google

Esta página de referência descreve a API JavaScript de login. Use essa API para exibir a solicitação "Um toque" ou o botão "Fazer login com o Google" nas suas páginas da Web.

Método: google.accounts.id.initialize

O método google.accounts.id.initialize inicializa o cliente "Fazer login com o Google" com base no objeto de configuração. Veja o exemplo de código a seguir do método:

google.accounts.id.initialize(IdConfiguration)

O exemplo de código a seguir implementa o método google.accounts.id.initialize com uma função onload:

<script>
  window.onload = function () {
    google.accounts.id.initialize({
      client_id: 'YOUR_GOOGLE_CLIENT_ID',
      callback: handleCredentialResponse
    });
    google.accounts.id.prompt();
  };
</script>

O método google.accounts.id.initialize cria uma instância de cliente do Fazer login com o Google que pode ser usada implicitamente por todos os módulos na mesma página da Web.

  • Você só precisa chamar o método google.accounts.id.initialize uma vez, mesmo se usar vários módulos (como um toque, botão personalizado, revogação etc.) na mesma página da Web.
  • Se você chamar o método google.accounts.id.initialize várias vezes, apenas as configurações na última chamada serão lembradas e usadas.

Você redefine as configurações sempre que chama o método google.accounts.id.initialize, e todos os métodos subsequentes na mesma página da Web usarão as novas configurações imediatamente.

Tipo de dados: IdConfiguration

A tabela a seguir lista os campos e as descrições do tipo de dados IdConfiguration:

Campo
client_id ID do cliente do seu aplicativo
auto_select Ativa a seleção automática.
callback A função JavaScript que manipula tokens de ID. O Google One Tap e o botão "Fazer login com o Google" do modo UX popup usam esse atributo.
login_uri O URL do endpoint de login. O botão "Fazer login com o Google" redirect usa o atributo "UX".
native_callback A função JavaScript que lida com credenciais de senha.
cancel_on_tap_outside Cancela a solicitação se o usuário clica fora dela.
prompt_parent_id O ID do DOM do elemento do contêiner de solicitação com um toque
nonce Uma string aleatória de tokens de ID
context O título e as palavras na solicitação com um toque
state_cookie_domain Se você precisar chamar o recurso "Um toque" no domínio pai e nos subdomínios dele, passe o domínio pai para esse campo para que um único cookie compartilhado seja usado.
ux_mode O fluxo de UX do botão "Fazer login com o Google"
allowed_parent_origin As origens que têm permissão para incorporar o iframe intermediário. Um toque será executado no modo iframe intermediário se este campo for apresentado.
intermediate_iframe_close_callback Modifica o comportamento padrão do iframe intermediário quando os usuários fecham manualmente com um toque.
itp_support Ativa a UX de um toque atualizada em navegadores ITP.

client_id

Esse campo é o ID do cliente do seu aplicativo, que pode ser encontrado e criado no Google Developers Console. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Sim client_id: "CLIENT_ID.apps.googleusercontent.com"

seleção automática

Esse campo determina se um token de ID é retornado automaticamente sem nenhuma interação do usuário quando há apenas uma sessão do Google que já aprovou o aplicativo. O valor padrão é false. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
boolean Opcional auto_select: true

callback

Esse campo é a função JavaScript que processa o token de ID retornado da solicitação de um toque ou da janela pop-up. Esse atributo é obrigatório se o Google Toque ou o botão "Fazer login com o Google" popup usa o modo de UX. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
função Obrigatório para o modo Toque e o modo UX do popup callback: handleResponse

login_uri

Esse atributo é o URI do endpoint de login.

O valor precisa corresponder exatamente a um dos URIs de redirecionamento autorizados para o cliente OAuth 2.0, que você configurou no Console de APIs e 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 e, nesse caso, a credencial será postada por padrão.

A resposta da credencial do token de código é postada no endpoint de login quando um usuário clica no botão "Fazer login com o Google" e o modo de UX de redirecionamento é usado.

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.
Usado somente quando ux_mode: "redirect" está definido.
login_uri="https://www.example.com/login"

O endpoint de login precisa processar solicitações POST contendo 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

callback_nativo

Esse campo é o nome da função JavaScript que lida com a credencial de senha retornada do gerenciador de credenciais nativo do navegador. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
função Opcional native_callback: handleResponse

cancelar_em_toque_externo

Esse campo define se a solicitação com um toque será ou não cancelada se um usuário clicar fora da solicitação. O valor padrão é true. É possível desativá-lo definindo o valor como false. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
boolean Opcional cancel_on_tap_outside: false

prompt_parent_id

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

Tipo Obrigatório Exemplo
string Opcional prompt_parent_id: 'parent_id'

valor de uso único

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

Tipo Obrigatório Exemplo
string Opcional nonce: "biaqbm70g23"

O tamanho do valor de uso único é limitado ao tamanho máximo do JWT compatível com seu ambiente e às restrições individuais de tamanho do navegador e do servidor HTTP.

contexto

Esse campo altera o texto do título e das mensagens na solicitação com um toque. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional context: "use"

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

Contexto
signin "Fazer login com o Google"
signup "Inscreva-se no Google"
use "Usar com o Google"

Se você precisar exibir um toque no domínio pai e nos subdomínios dele, transmita o domínio pai para esse campo 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 state_cookie_domain: "example.com"

modo ux_

Use esse campo para definir 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 do OneTap. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string Opcional ux_mode: "redirect"

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

Modo de 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 completo.

allowed_parent_origin

As origens que têm permissão para incorporar o iframe intermediário. Um toque será executado no modo iframe intermediário se esse campo for apresentado. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
string ou matriz de string Opcional 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://example.com"
string array Uma matriz de URIs de domínio. ["https://news.example.com", "https://local.example.com"]

Os prefixos curinga também são aceitos. Por exemplo, "https://*.example.com" corresponderá a example.com e seus subdomínios em todos os níveis (por exemplo, news.example.com, login.news.example.com). Observações importantes ao usar caracteres curinga:

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

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

intermediate_iframe_close_callback

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

O campo intermediate_iframe_close_callback entra em vigor somente no modo iframe intermediário. E isso afeta apenas o iframe intermediário, em vez do iframe de um toque. A IU com um toque é removida antes do callback ser invocado.

Tipo Obrigatório Exemplo
função Opcional intermediate_iframe_close_callback: logBeforeClose

Suporte a itp

Esse campo determina se a UX de um toque atualizada precisa ser ativada em navegadores com suporte à Intelligent Tracking Prevention (ITP). O valor padrão é false. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
boolean Opcional itp_support: true

Método: google.accounts.id.prompt

O método google.accounts.id.prompt exibe a solicitação com um toque ou o gerenciador de credenciais nativo do navegador depois que o método initialize() é invocado. Veja o exemplo de código a seguir do método:

 google.accounts.id.prompt(/**
 @type{(function(!PromptMomentNotification):void)=} */ momentListener)

Normalmente, o método prompt() é chamado no carregamento da página. Devido ao status da sessão e às configurações do usuário no Google, a IU de solicitação com um toque pode não ser exibida. Para receber notificações sobre o status da IU de diferentes momentos, transmita uma função para receber notificações de status da IU.

As notificações são disparadas nos seguintes momentos:

  • Momento de exibição: isso ocorre depois que o método prompt() é chamado. A notificação contém um valor booleano para indicar se a IU é exibida ou não.
  • Momento ignorado: isso ocorre quando a solicitação com um toque é fechada por um cancelamento automático, um cancelamento manual ou quando o Google não emite uma credencial, como quando a sessão selecionada é desconectada do Google.

    Nesses casos, recomendamos que você prossiga para os próximos provedores de identidade, se houver algum.

  • Momento dispensado: isso ocorre quando o Google recupera uma credencial ou um usuário quer interromper o fluxo de recuperação de credenciais. Por exemplo, quando o usuário começa a inserir o nome de usuário e a senha na caixa de diálogo de login, chame o método google.accounts.id.cancel() para fechar a solicitação de um toque e acionar um momento dispensado.

O exemplo de código a seguir implementa o momento ignorado:

<script>
  window.onload = function () {
    google.accounts.id.initialize(...);
    google.accounts.id.prompt((notification) => {
      if (notification.isNotDisplayed() || notification.isSkippedMoment()) {
        // continue with another identity provider.
      }
    });
  };
</script>

Tipo de dados: PromptMomentNotification

A tabela a seguir lista métodos e descrições do tipo de dados PromptMomentNotification:

Método
isDisplayMoment() Esta notificação é apenas para exibição?
isDisplayed() Esta notificação é para um momento de exibição, e a IU é exibida?
isNotDisplayed() Esta notificação é para um momento de exibição, e a IU não é exibida?
getNotDisplayedReason()

O motivo detalhado por que a IU não é exibida. Veja a seguir os valores possíveis:

  • browser_not_supported
  • invalid_client
  • missing_client_id
  • opt_out_or_no_session
  • secure_http_required
  • suppressed_by_user
  • unregistered_origin
  • unknown_reason
isSkippedMoment() Esta notificação é para um momento pulado?
getSkippedReason()

O motivo detalhado do momento ignorado. Veja a seguir os valores possíveis:

  • auto_cancel
  • user_cancel
  • tap_outside
  • issuing_failed
isDismissedMoment() Esta notificação foi dispensada?
getDismissedReason()

O motivo detalhado da dispensa. Veja a seguir os valores possíveis:

  • credential_returned
  • cancel_called
  • flow_restarted
getMomentType()

Retorna uma string para o tipo de momento. Veja a seguir os valores possíveis:

  • display
  • skipped
  • dismissed

Tipo de dados: CredentialResponse

Quando a função callback é invocada, um objeto CredentialResponse é transmitido como parâmetro. A tabela a seguir lista os campos contidos no objeto de resposta de credencial:

Campo
credential Este campo é o token de ID retornado.
select_by Esse campo define como a credencial é selecionada.

credencial

Esse campo é o token de ID como uma string JSON Web Token (JWT) codificada em base64.

Quando decodificado, o JWT se parece com o seguinte exemplo:

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": "Elisa",
  "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 contém um identificador global exclusivo para a Conta do Google.

Usando os campos email, email_verified e hd, é possível determinar se o Google hospeda e está autorizado para um endereço de e-mail. Nos casos em que o Google é autoritativo, o usuário é atualmente conhecido como o proprietário legítimo da conta.

Casos em que o Google tem autoridade:

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

Os usuários podem se registrar nas 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 é autorizado e a senha ou outros métodos de desafio são recomendados para verificar o usuário. email_verfied 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 desde então.

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

selecionar_por

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

  • O usuário pressionou o botão "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 de token de ID com seu aplicativo, o usuário pode

    • pressionar o botão "Confirmar" para autorizar o compartilhamento de credenciais; ou
    • já deu consentimento e usou "Selecionar uma conta" para escolher uma Conta do Google.

O valor desse campo é definido como um destes tipos,

Valor Descrição
auto Login automático de um usuário com uma sessão que já havia concedido consentimento para compartilhar credenciais.
user Um usuário com uma sessão que já havia concedido consentimento pressionou o botão "Continuar como" com um toque para compartilhar credenciais.
user_1tap Um usuário com uma sessão existente pressionou o botão "Continuar como" com apenas um toque para conceder consentimento e compartilhar credenciais. Aplicável apenas ao Chrome v75 e posterior.
user_2tap Um usuário sem uma sessão pressione o botão "Continuar como" para selecionar uma conta e depois pressione o botão "Confirmar" em uma janela pop-up para conceder consentimento e compartilhar credenciais. Aplica-se 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 existente pressionou o botão "Fazer login com o Google" e o botão "Confirmar" para conceder consentimento e compartilhar credenciais.
btn_add_session Um usuário sem uma sessão existente que anteriormente dá consentimento pressiona 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 existente pressionou primeiro o botão "Fazer login com o Google" para selecionar uma Conta do Google e depois o botão "Confirmar" para consentir e compartilhar credenciais.

Método: google.accounts.id.renderButton

O método google.accounts.id.renderButton renderiza um botão "Fazer login com o Google" nas suas páginas da Web.

Veja o exemplo de código a seguir do método:

google.accounts.id.renderButton(
      /** @type{!HTMLElement} */ parent,
      /** @type{!GsiButtonConfiguration} */ options
    )

Tipo de dado: GsiButtonConfiguration

A tabela a seguir lista os campos e as descrições do tipo de dados GsiButtonConfiguration:

Atributo
type O tipo de botão: ícone ou botão padrão.
theme O tema do botão. Por exemplo, fill_blue ou fill_black.
size O tamanho do botão. Por exemplo, pequeno ou grande.
text O texto do botão. Por exemplo, "Faça login com o Google" ou "Inscreva-se no Google".
shape O formato do botão. Por exemplo, retangular ou circular.
logo_alignment O alinhamento do logotipo do Google: à esquerda ou no centro.
width A largura do botão, em pixels.
locale Se definido, o idioma do botão será renderizado.
click_listener Se definida, essa função será chamada quando o usuário clicar no botão "Fazer login com o Google".

Tipos de atributo

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

digitar

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 type: "icon"

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

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

tema

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 theme: "filled_blue"

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

Tema
outline Um tema de botão padrão:
filled_blue Um tema de botão azul:
filled_black Um tema de botão preto:

tamanho

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 size: "small"

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

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

texto

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

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

Tipo Obrigatório Exemplo
string Opcional text: "signup_with"

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

Texto
signin_with O texto do botão é "Fazer login com o Google":
signup_with O texto do botão é "Inscreva-se no Google":
continue_with O texto do botão é "Continuar com o Google":
signin O texto do botão é "Fazer login":

forma

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

Tipo Obrigatório Exemplo
string Opcional shape: "rectangular"

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

Forma
rectangular O botão em formato retangular. Se usado para o tipo de botão icon, ele será igual a square.
pill O botão em forma de pílula. Se usado para o tipo de botão icon, ele será igual a circle.
circle O botão em forma de círculo. Se usado para o tipo de botão standard, ele será igual a pill.
square O botão quadrado. Se usado para o tipo de botão standard, ele será igual a rectangular.

alinhamento_logotipo

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

Tipo Obrigatório Exemplo
string Opcional logo_alignment: "center"

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

alinhamento_logotipo
left Alinha o logotipo do Google à esquerda.
center Alinha o logotipo do Google ao centro.

largura

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

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

Tipo Obrigatório Exemplo
string Opcional width: 400

localidade

Opcional. Exibir texto do botão usando a localidade especificada. Do contrário, o padrão é a Conta do Google do usuário ou as configurações do navegador. 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 não estiver definida, a localidade padrão do navegador ou a preferência do usuário da sessão do Google será usada. Portanto, usuários diferentes podem ver versões diferentes de botões localizados e possivelmente com tamanhos diferentes.

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

Tipo Obrigatório Exemplo
string Opcional locale: "zh_CN"

listener_de_cliques

É possível definir uma função JavaScript a ser chamada quando o botão "Fazer login com o Google" é clicado usando o atributo click_listener.

  google.accounts.id.renderButton(document.getElementById("signinDiv"), {
      theme: 'outline',
      size: 'large',
      click_listener: onClickHandler
    });

  
  function onClickHandler(){
    console.log("Sign in with Google button clicked...")
  }
  

No exemplo acima, a mensagem Sign in with Google button clicks... será registrada no console quando o botão "Fazer login com o Google" receber um clique.

Tipo de dado: credencial

Quando a função native_callback é invocada, um objeto Credential é transmitido como parâmetro. A tabela a seguir lista os campos contidos no objeto:

Campo
id Identifica o usuário.
password A senha

Método: google.accounts.id.disableAutoSelect

Quando o usuário sai do site, chame o método google.accounts.id.disableAutoSelect para registrar o status nos cookies. Isso impede um loop morto de UX. Veja o seguinte snippet de código do método:

google.accounts.id.disableAutoSelect()

O exemplo de código a seguir implementa o método google.accounts.id.disableAutoSelect com uma função onSignout():

<script>
  function onSignout() {
    google.accounts.id.disableAutoSelect();
  }
</script>

Método: google.accounts.id.storeCredential

Esse método é um wrapper simples para o método store() da API gerenciadora de credenciais nativa do navegador. Portanto, ele só pode ser usado para armazenar uma credencial de senha. Veja o exemplo de código a seguir do método:

google.accounts.id.storeCredential(Credential, callback)

O exemplo de código a seguir implementa o método google.accounts.id.storeCredential com uma função onSignIn():

<script>
  function onSignIn() {
    let cred = {id: '...', password: '...'};
    google.accounts.id.storeCredential(cred);
  }
</script>

Método: google.accounts.id.cancel

É possível cancelar o fluxo com um toque se você remover a solicitação do DOM da parte confiável. A operação de cancelamento será ignorada se uma credencial já estiver selecionada. Veja o exemplo de código a seguir do método:

google.accounts.id.cancel()

O exemplo de código a seguir implementa o método google.accounts.id.cancel() com uma função onNextButtonClicked():

<script>
  function onNextButtonClicked() {
    google.accounts.id.cancel();
    showPasswordPage();
  }
</script>

Retorno de chamada de carregamento da biblioteca: onGoogleLibraryLoad

É possível registrar um callback onGoogleLibraryLoad. Ela é notificada após o carregamento da biblioteca JavaScript do Fazer login com o Google:

window.onGoogleLibraryLoad = () => {
    ...
};

Esse callback é apenas um atalho para o callback window.onload. Não há diferenças de comportamento.

O exemplo de código a seguir implementa um callback onGoogleLibraryLoad:

<script>
  window.onGoogleLibraryLoad = () => {
   google.accounts.id.initialize({
     ...
   });
   google.accounts.id.prompt();
  };
</script>

Método: google.accounts.id.revoke

O método google.accounts.id.revoke revoga a concessão de acesso OAuth usada para compartilhar o token de ID do usuário especificado. Veja o snippet de código a seguir do método: google.accounts.id.revoke(hint, callback)

Parâmetro Tipo Descrição
hint string O endereço de e-mail ou o ID exclusivo da Conta do Google do usuário. O ID é a propriedade sub do payload da credencial.
callback função Gerenciador RevocationResponse opcional.

O exemplo de código a seguir mostra como usar o método revoke com um ID.

  google.accounts.id.revoke('1618033988749895', done => {
    console.log(done.error);
  });

Tipo de dados: RevocationResponse

Quando a função callback é invocada, um objeto RevocationResponse é transmitido como parâmetro. A tabela a seguir lista os campos contidos no objeto de resposta de revogação:

Campo
successful Este campo é o valor de retorno da chamada do método.
error Opcionalmente, esse campo contém uma mensagem de resposta de erro detalhada.

concluída

Este campo é um valor booleano definido como verdadeiro se a chamada do método de revogação for bem-sucedida ou falsa em caso de falha.

error

Esse campo é um valor de string e contém uma mensagem de erro detalhada se a chamada do método de revogação falhar. Ela ficará indefinida em caso de êxito.