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" |
estado_cookie_estado
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
ehttps://*.co.uk
são inválidos. Conforme mencionado acima,"https://*.example.com"
corresponderá aexample.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íniosexample1.com
,example2.com
e subdomínios deexample2.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:
|
isSkippedMoment() |
Esta notificação é para um momento pulado? |
getSkippedReason() |
O motivo detalhado do momento ignorado. Veja a seguir os valores possíveis:
|
isDismissedMoment() |
Esta notificação foi dispensada? |
getDismissedReason() |
O motivo detalhado da dispensa. Veja a seguir os valores possíveis:
|
getMomentType() |
Retorna uma string para o tipo de momento. Veja a seguir os valores possíveis:
|
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 ehd
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:
![]() ![]() ![]() |
medium |
Um botão de tamanho médio:
![]() ![]() |
small |
Um botão 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 é "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.