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

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Esta página de referência descreve a API Sign-In JavaScript. Use essa API para exibir a solicitação com um toque ou o botão do 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 do Fazer login com o Google com base no objeto de configuração. Veja o exemplo de código do método a seguir:

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 do 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 que use 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ê realmente 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 gerencia os tokens de ID. O Google One Tap e o botão do Login com o Google popup Modo UX usam esse atributo.
login_uri O URL do endpoint de login. O botão"Fazer login com o Google"redirect O modo de UX usa esse atributo.
native_callback A função JavaScript que processa as credenciais de senha.
cancel_on_tap_outside Cancela a solicitação se o usuário clica fora dela.
prompt_parent_id ID do DOM do elemento do contêiner de solicitação de um toque
nonce Uma string aleatória para 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, transmita o domínio pai para esse campo para que um único cookie compartilhado seja usado.
ux_mode 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. O recurso Toque será executado no modo iframe intermediário se esse campo estiver presente.
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 de ITP.

client_id

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

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

seleção automática

Este campo determina se um token de ID é retornado automaticamente sem qualquer interação do usuário quando há apenas uma sessão do Google que já aprovou o app. 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 gerencia o token de ID retornado do aviso de um toque ou da janela pop-up. Esse atributo é obrigatório se o Google um toque ou o botão do Login com o Google popup for usado. Consulte a tabela a seguir para mais informações:

Tipo Obrigatório Exemplo
função Necessário para o toque único e o modo UX do popup callback: handleResponse

login_uri

Esse atributo é o URI do seu endpoint de login. Pode ser omitido se a página atual for a de login. Nesse caso, a credencial será postada por padrão nessa página.

A resposta de credencial do token de ID é 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 apenas quando ux_mode: "redirect" é definido.
login_uri="https://www.example.com/login"

Seu 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

native_callback

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

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

Cancelar_em_tom_em_fora

Esse campo define se a solicitação de um toque será cancelada ou não 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 de contêiner. Se ela não estiver definida, a solicitação de um toque será exibida no canto superior direito da janela. Consulte a tabela abaixo 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 valor de uso único é limitado ao tamanho máximo de JWT aceito pelo seu ambiente, além de restrições individuais de tamanho de navegador e servidor.

contexto

Este campo muda o texto do título e das mensagens na solicitação de 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 respectivas descrições:

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

Se você precisar exibir um toque no domínio pai e nos subdomínios, 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 tem impacto na UX do OneTap. Consulte a tabela abaixo 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 Realiza o fluxo de UX de login em uma janela pop-up.
redirect Realiza o fluxo de UX de login por um redirecionamento de página completa.

allowed_parent_origin

As origens que têm permissão para incorporar o iframe intermediário. Se houver um toque, ele será executado no modo iframe intermediário. 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 valor compatíveis e as respectivas descrições.

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 compatíveis. Por exemplo, "https://*.example.com" corresponderá a example.com e aos 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 curingas:

  • 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" corresponderá a example.com e aos subdomínios dele. 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
  • Domínios com caracteres 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

Substitui o comportamento padrão do iframe intermediário quando os usuários fecham manualmente 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 tem efeito somente no modo intermediário de iframe. E tem impacto somente no 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_ptp

Este campo determina se a UX atualizada com um toque precisa ser ativada em navegadores compatíveis com a 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 de um toque ou o gerenciador de credenciais nativo do navegador depois que o método initialize() é invocado. Veja o exemplo de código do método a seguir:

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

Normalmente, o método prompt() é chamado no carregamento de página. Devido ao status da sessão e às configurações do usuário no lado do Google, a IU da solicitação de um toque pode não ser exibida. Para receber notificações sobre o status da IU para 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.

  • Momento dispensado: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çar 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 é para um momento de 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 de a IU não ser 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 ignorado?
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 é para um momento dispensado?
getDismissedReason()

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

  • credential_returned
  • cancel_called
  • flow_restarted
getMomentType()

Retorne 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 Esse 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 é 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": "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 globalmente exclusivo para a Conta do Google.

Você pode usar os campos email, email_verified e hd para determinar se o Google hospeda e é confiável para um endereço de e-mail. Nos casos em que o Google é autoritativo, o usuário é conhecido como o proprietário legítimo da conta.

Casos em que o Google é autoritativo:

  • email tem um sufixo @gmail.com, que é uma conta do Gmail.
  • email_verified é verdadeiro e hd está definido, esta é uma conta do G Suite.

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

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 atual 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 app, o usuário pode

    • pressionaram o botão "Confirmar" para dar seu consentimento para compartilhar credenciais; ou
    • tinha concedido consentimento e usou "Selecionar uma conta" para escolher uma Conta do Google.

O valor deste campo é definido como um destes tipos,

Valor Descrição
auto Login automático de um usuário com uma sessão atual que já autorizou o compartilhamento de credenciais.
user Um usuário com uma sessão existente que já tinha dado consentimento pressionou o botão "Tocar com um toque" 'Continuar como' para compartilhar credenciais.
user_1tap Um usuário com uma sessão pressione o botão "Toque com um toque" para continuar a conceder credenciais e compartilhar informações. Aplicável apenas ao Chrome v75 e versões mais recentes.
user_2tap Um usuário sem uma sessão existente pressionou o botão "Um toque" 'Continuar como' para selecionar uma conta e, em seguida, pressionou o botão "Confirmar" em uma janela pop-up para conceder consentimento e compartilhar credenciais. Aplicável a navegadores não baseados no Chromium.
btn Um usuário com uma sessão atual 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 pressione 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 já autorizou o botão 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 o botão "Fazer login com o Google" para selecionar uma Conta do Google e, em seguida, pressionou 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 do Fazer login com o Google nas suas páginas da Web.

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

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

Tipo de dados: 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, "Fazer login com o Google" ou "Inscrever-se com o Google".
shape É a forma 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.

Tipos de atributo

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

tipo

O tipo de botão. O valor padrão é standard.

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

Tipo Obrigatório Exemplo
string Yes type: "icon"

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

Tipo
standard Um botão com informações de texto ou 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 ver mais informações:

Tipo Obrigatório Exemplo
string Opcional theme: "filled_blue"

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

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 ver 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 respectivas 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 botão de ícone pequeno

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 é "Sign in with Google" (Fazer login com o Google):
signup_with O texto do botão é "Assine com o Google":
continue_with O texto do botão é "Continue with Google" (Continuar com o Google):
signin O texto do botão é "Fazer login":

forma

É 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 shape: "rectangular"

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

Formato
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 em formato 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 só se aplica 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 Alinhamento à esquerda do logotipo do Google.
center Alinha o centro ao logotipo do Google.

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

É a localidade predefinida do texto do botão. Se não for definido, será usada a localidade padrão do navegador ou a preferência do usuário da sessão do Google. 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"

Tipo de dados: 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 sair do seu site, chame o método google.accounts.id.disableAutoSelect para registrar o status nos cookies. Isso impede um loop inativo da UX. Consulte 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 nativa do gerenciador de credenciais do navegador. Portanto, ela só pode ser usada para armazenar uma credencial de senha. Veja o exemplo de código do método a seguir:

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 de um toque se remover a solicitação do DOM da parte confiável. A operação de cancelamento é ignorada se uma credencial já está 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

Você pode registrar um callback onGoogleLibraryLoad. Ela é notificada após o carregamento da biblioteca JavaScript do 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 permissão OAuth usada para compartilhar o token de ID do usuário especificado. Consulte o seguinte snippet de código 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 de credencial.
callback função Gerenciador opcional de RevocationResponse.

A amostra 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 Esse campo é o valor de retorno da chamada do método.
error Opcionalmente, este campo pode conter uma mensagem detalhada de resposta de erro.

concluído

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.

erro

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 será indefinida no sucesso.