Documentation de référence sur la connexion avec l'API JavaScript Google

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Cette page de référence décrit l'API Sign-In JavaScript. Vous pouvez utiliser cette API pour afficher le bouton One Tap ou le bouton Se connecter avec Google sur vos pages Web.

Méthode: google.accounts.id.initialize

La méthode google.accounts.id.initialize initialise le client Se connecter avec Google en fonction de l'objet de configuration. Consultez l'exemple de code suivant de la méthode:

google.accounts.id.initialize(IdConfiguration)

L'exemple de code suivant implémente la méthode google.accounts.id.initialize avec une fonction onload:

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

La méthode google.accounts.id.initialize crée une instance de client Se connecter avec Google qui peut être utilisée implicitement par tous les modules d'une même page Web.

  • Vous n'avez besoin d'appeler la méthode google.accounts.id.initialize qu'une seule fois, même si vous utilisez plusieurs modules (par exemple, en un seul geste, un bouton personnalisé, une révocation, etc.) sur la même page Web.
  • Si vous appelez la méthode google.accounts.id.initialize plusieurs fois, seules les configurations du dernier appel seront enregistrées et utilisées.

Vous réinitialisez réellement les configurations lorsque vous appelez la méthode google.accounts.id.initialize. Toutes les méthodes ultérieures d'une même page Web utilisent alors immédiatement les nouvelles configurations.

Type de données: IdConfiguration

Le tableau suivant répertorie les champs et les descriptions du type de données IdConfiguration:

Champ
client_id ID client de votre application
auto_select Active la sélection automatique.
callback Fonction JavaScript qui gère les jetons d'ID. Google One Tap et le bouton Se connecter avec Google popup en mode UX utilisent cet attribut.
login_uri URL de votre point de terminaison de connexion. Le bouton "Se connecter avec Google" redirect le mode UX utilise cet attribut.
native_callback Fonction JavaScript qui gère les identifiants de mot de passe.
cancel_on_tap_outside Annule l'invite si l'utilisateur clique en dehors de l'invite.
prompt_parent_id ID DOM de l'élément conteneur d'invite One Tap
nonce Chaîne aléatoire de jetons d'ID
context Titre et mots figurant dans l'invite One Tap
state_cookie_domain Si vous devez appeler One Tap dans le domaine parent et ses sous-domaines, transmettez le domaine parent à ce champ afin qu'un seul cookie partagé soit utilisé.
ux_mode Flux d'expérience utilisateur du bouton "Se connecter avec Google"
allowed_parent_origin Origines autorisées à intégrer l'iFrame intermédiaire. One Tap s'exécutera en mode iFrame intermédiaire si ce champ s'affiche.
intermediate_iframe_close_callback Ignore le comportement iFrame intermédiaire par défaut lorsque l'utilisateur ferme manuellement l'application One Tap.
itp_support Active l'expérience utilisateur One Tap mise à niveau sur les navigateurs ITP.

client_id

Ce champ correspond à l'ID client de votre application. Il est créé et créé dans Google Developers Console. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
chaîne Oui client_id: "CLIENT_ID.apps.googleusercontent.com"

sélection_automatique

Ce champ détermine si un jeton d'ID est automatiquement renvoyé sans aucune intervention de l'utilisateur lorsqu'une seule session Google a déjà approuvé votre application. La valeur par défaut est false. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
booléen Facultative auto_select: true

rappel

Ce champ correspond à la fonction JavaScript qui gère le jeton d'ID renvoyé par l'invite One Tap ou la fenêtre pop-up. Cet attribut est obligatoire si vous utilisez le mode d'expérience utilisateur popupGoogle One Tap ou Se connecter avec Google. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
fonction Obligatoire pour One Tap et le mode UX de popup callback: handleResponse

identifiant_connexion

Cet attribut est l'URI de votre point de terminaison de connexion. Peut être omis si la page actuelle correspond à votre page de connexion. Dans ce cas, les identifiants sont publiés sur cette page par défaut.

La réponse des identifiants du jeton d'ID est publiée sur votre point de terminaison de connexion lorsqu'un utilisateur clique sur le bouton "Se connecter avec Google" et utilise le mode expérience utilisateur de redirection.

Pour en savoir plus, consultez le tableau suivant:

Type Facultative Exemple
URL Valeur par défaut : URI de la page active ou valeur spécifiée.
Utilisé uniquement lorsque ux_mode: "redirect" est défini.
login_uri="https://www.example.com/login"

Votre point de terminaison de connexion doit gérer les requêtes POST contenant une clé credential avec une valeur de jeton d'ID dans le corps.

Voici un exemple de requête envoyée à votre point de terminaison de connexion:

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

credential=ID_TOKEN

rappel_natif

Ce champ correspond au nom de la fonction JavaScript qui gère l'identifiant du mot de passe renvoyé par le gestionnaire d'identifiants natif du navigateur. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
fonction Facultative native_callback: handleResponse

cancel_on_tap_outside

Ce champ indique si la demande One Tap doit être annulée si un utilisateur clique en dehors de l'invite. La valeur par défaut est true. Vous pouvez la désactiver si vous définissez la valeur sur false. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
booléen Facultative cancel_on_tap_outside: false

invite_id_parent

Cet attribut définit l'identifiant DOM de l'élément conteneur. Si elle n'est pas définie, l'invite d'un geste s'affiche en haut à droite de la fenêtre. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
chaîne Facultative prompt_parent_id: 'parent_id'

nonce

Ce champ est une chaîne aléatoire utilisée par le jeton d'ID pour empêcher les attaques par relecture. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
chaîne Facultative nonce: "biaqbm70g23"

La longueur des nonces est limitée par la taille maximale de JWT acceptée par votre environnement et par les contraintes de taille HTTP du navigateur et du serveur individuelles.

context

Ce champ modifie le texte du titre et les messages de l'invite One Tap. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
chaîne Facultative context: "use"

Le tableau suivant répertorie les contextes disponibles et leur description:

Contexte
signin "Se connecter avec Google"
signup "Inscrivez-vous avec Google"
use "Utiliser avec Google"

Si vous devez afficher One Tap dans le domaine parent et ses sous-domaines, transmettez le domaine parent à ce champ afin qu'un cookie à état partagé unique soit utilisé. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
chaîne Facultative state_cookie_domain: "example.com"

mode_ux

Utilisez ce champ pour définir le flux de l'expérience utilisateur utilisé par le bouton "Se connecter avec Google". La valeur par défaut est popup. Cet attribut n'a aucune incidence sur l'expérience utilisateur OneTap. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
chaîne Facultative ux_mode: "redirect"

Le tableau suivant répertorie les modes d'expérience utilisateur disponibles et leur description.

Mode UX
popup Effectue un flux d'expérience utilisateur de connexion dans une fenêtre pop-up.
redirect Effectue un flux d'expérience utilisateur de connexion via une redirection complète de la page.

origine_parent_autorisée

Origines autorisées à intégrer l'iFrame intermédiaire. One Tap s'exécute en mode iFrame intermédiaire si ce champ s'affiche. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
chaîne ou tableau de chaînes Facultative allowed_parent_origin: "https://example.com"

Le tableau suivant répertorie les types de valeurs acceptés et leur description.

Types de valeurs
string Un seul URI de domaine. "https://example.com"
string array Tableau d'URI de domaines. ["https://news.example.com", "https://local.example.com"]

Les préfixes génériques sont également acceptés. Par exemple, "https://*.example.com" correspond à example.com et à ses sous-domaines à tous les niveaux (par exemple, news.example.com, login.news.example.com). Gardez les points suivants à l'esprit lorsque vous utilisez des caractères génériques:

  • Les chaînes de modèle ne peuvent pas être composées uniquement d'un caractère générique et d'un domaine de premier niveau. Par exemple, https://*.com et https://*.co.uk ne sont pas valides. Comme indiqué ci-dessus, "https://*.example.com" correspondra à example.com et à ses sous-domaines. Vous pouvez également utiliser un tableau pour représenter deux domaines différents. Par exemple, ["https://example1.com", "https://*.example2.com"] correspondra aux domaines example1.com, example2.com et aux sous-domaines de example2.com.
  • Les domaines avec des caractères génériques doivent commencer par un schéma https:// sécurisé. "*.example.com" seront considérés comme non valides.

Si la valeur du champ allowed_parent_origin n'est pas valide, l'initialisation One Tap du mode iFrame intermédiaire échoue et s'arrête.

rappel intermédiaire_iFrame_intermédiaire

Remplace le comportement intermédiaire iFrame par défaut lorsque l'utilisateur ferme manuellement le geste "Appuyer une fois" en appuyant sur le bouton "X" dans l'interface utilisateur One Tap. Le comportement par défaut consiste à supprimer immédiatement l'iFrame intermédiaire du DOM.

Le champ intermediate_iframe_close_callback ne prend effet qu'en mode iFrame intermédiaire. Elle ne concerne que le cadre iFrame intermédiaire, et non le cadre iFrame One Tap. L'interface utilisateur One Tap est supprimée avant l'appel du rappel.

Type Obligatoire Exemple
fonction Facultative intermediate_iframe_close_callback: logBeforeClose

assistance technique

Ce champ détermine si l'expérience utilisateur One Tap mise à niveau doit être activée ou non sur les navigateurs compatibles avec Intelligent Tracking Prevention (ITP). La valeur par défaut est false. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
booléen Facultative itp_support: true

Méthode: google.accounts.id.prompt

La méthode google.accounts.id.prompt affiche l'invite One Tap ou le gestionnaire d'identifiants natif du navigateur une fois que la méthode initialize() a été appelée. Consultez l'exemple de code suivant de la méthode:

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

Normalement, la méthode prompt() est appelée au chargement de la page. En raison de l'état de la session et des paramètres utilisateur du côté Google, il est possible que l'interface utilisateur de l'invite One Tap ne s'affiche pas. Pour recevoir des notifications sur l'état de l'interface utilisateur à différents moments, transmettez une fonction qui reçoit les notifications d'état de l'interface utilisateur.

Les notifications sont déclenchées aux moments suivants:

  • Moment d'affichage : cela se produit après l'appel de la méthode prompt(). La notification contient une valeur booléenne indiquant si l'interface utilisateur est affichée ou non.
  • Moment ignoré : cela se produit lorsque l'invite One Tap est fermée par une annulation automatique ou une annulation manuelle, ou lorsque Google ne parvient pas à émettre des identifiants, par exemple lorsque la session sélectionnée s'est déconnectée de Google.

    Dans ce cas, nous vous recommandons de passer aux fournisseurs d'identité suivants, le cas échéant.

  • Moment ignoré:Cela se produit lorsque Google récupère les identifiants ou qu'un utilisateur souhaite arrêter le flux de récupération des identifiants. Par exemple, lorsque l'utilisateur commence à saisir son nom d'utilisateur et son mot de passe dans votre boîte de dialogue de connexion, vous pouvez appeler la méthode google.accounts.id.cancel() pour fermer l'invite One Tap et déclencher un moment ignoré.

L'exemple de code suivant implémente le moment ignoré:

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

Type de données : PromptMomentNotification :

Le tableau suivant répertorie les méthodes et les descriptions du type de données PromptMomentNotification:

Méthode
isDisplayMoment() Cette notification concerne-t-elle un moment d'affichage ?
isDisplayed() Cette notification s'affiche-t-elle pour un moment d'affichage et l'UI s'affiche-t-elle ?
isNotDisplayed() Cette notification s'affiche-t-elle pendant un moment et l'UI n'apparaît pas ?
getNotDisplayedReason()

Raison détaillée pour laquelle l'interface utilisateur ne s'affiche pas. Voici les valeurs possibles:

  • browser_not_supported
  • invalid_client
  • missing_client_id
  • opt_out_or_no_session
  • secure_http_required
  • suppressed_by_user
  • unregistered_origin
  • unknown_reason
isSkippedMoment() Cette notification concerne-t-elle un moment ignoré ?
getSkippedReason()

Raison détaillée du moment ignoré. Voici les valeurs possibles:

  • auto_cancel
  • user_cancel
  • tap_outside
  • issuing_failed
isDismissedMoment() Cette notification concerne-t-elle un moment ignoré ?
getDismissedReason()

Motif détaillé du rejet. Voici les valeurs possibles:

  • credential_returned
  • cancel_called
  • flow_restarted
getMomentType()

Renvoie une chaîne correspondant au type de moment. Voici les valeurs possibles:

  • display
  • skipped
  • dismissed

Type de données: CredentialResponse

Lorsque votre fonction callback est appelée, un objet CredentialResponse est transmis en tant que paramètre. Le tableau suivant répertorie les champs contenus dans l'objet de réponse des identifiants:

Champ
credential Ce champ correspond au jeton d'ID renvoyé.
select_by Ce champ définit la manière dont les identifiants sont sélectionnés.

justificatif

Ce champ correspond au jeton d'ID en tant que chaîne de jeton Web JSON (JWT) encodée en base64.

Lorsqu'il est décodé, le jeton JWT ressemble à l'exemple suivant :

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"
}

Le champ sub contient un identifiant unique au niveau du compte Google.

Les champs email, email_verified et hd vous permettent de déterminer si Google héberge une adresse e-mail et fait autorité pour celle-ci. Dans les cas où Google fait autorité, l'utilisateur est connu pour être le titulaire légitime du compte.

Cas dans lesquels Google fait autorité:

  • email comporte un suffixe @gmail.com : il s'agit d'un compte Gmail.
  • email_verified est défini sur "true" et que hd est défini (il s'agit d'un compte G Suite).

Les utilisateurs peuvent créer des comptes Google sans utiliser Gmail ni G Suite. Lorsque email ne contient pas de suffixe @gmail.com et que hd est absent, Google ne fait pas autorité et il est recommandé d'utiliser un mot de passe ou d'autres méthodes d'authentification pour valider l'utilisateur. La valeur email_verfied peut également être vraie, car Google a initialement validé l'utilisateur lors de la création du compte Google, mais la propriété du compte de messagerie tiers peut avoir changé depuis.

sélectionner_par

Le tableau suivant répertorie les valeurs possibles du champ select_by. Le type de bouton ainsi que l'état de la session et du consentement permettent de définir la valeur,

  • L'utilisateur a appuyé sur le bouton One Tap ou Se connecter avec Google ou a utilisé le processus de connexion automatique sans contact.

  • Une session existante a été trouvée, ou l'utilisateur a été sélectionné et connecté à un compte Google pour en créer une.

  • Avant de partager les identifiants du jeton d'ID avec votre application, l'utilisateur doit

    • a appuyé sur le bouton "Confirmer" pour autoriser son partage des identifiants ; ou
    • ayant déjà donné son consentement et utilisé Sélectionner un compte pour choisir un compte Google.

La valeur de ce champ est définie sur l'un de ces types :

Value Description
auto Connexion automatique d'un utilisateur disposant d'une session existante et ayant précédemment donné son accord pour partager des identifiants
user Un utilisateur ayant déjà autorisé l'utilisateur a appuyé sur le bouton "Continuer en tant que" permettant de partager des identifiants.
user_1tap Un utilisateur disposant d'une session existante a appuyé sur le bouton "Continuer en tant que" pour accorder le consentement et partager des identifiants. S'applique uniquement à Chrome 75 ou version ultérieure.
user_2tap Un utilisateur sans session existante a appuyé sur le bouton "Continuer en tant que" pour sélectionner un compte, puis a appuyé sur le bouton "Confirmer" dans une fenêtre pop-up pour accorder le consentement et partager les identifiants. S'applique aux navigateurs autres que Chromium.
btn Un utilisateur avec une session existante qui a déjà donné son consentement a appuyé sur le bouton "Se connecter avec Google" et a sélectionné un compte Google dans "Sélectionner un compte" pour partager les identifiants.
btn_confirm Un utilisateur disposant d'une session existante a appuyé sur le bouton "Se connecter avec Google", puis sur le bouton "Confirmer" pour accorder le consentement et partager des identifiants.
btn_add_session Un utilisateur qui n'avait pas de session et qui a déjà donné son consentement a appuyé sur le bouton "Se connecter avec Google" pour sélectionner un compte Google et partager ses identifiants.
btn_confirm_add_session Un utilisateur sans session existante a d'abord appuyé sur le bouton "Se connecter avec Google" pour sélectionner un compte Google, puis sur le bouton "Confirmer" pour accepter et partager les identifiants.

Méthode: google.accounts.id.renderButton

La méthode google.accounts.id.renderButton affiche un bouton "Se connecter avec Google" sur vos pages Web.

Consultez l'exemple de code suivant de la méthode:

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

Type de données: GsiButtonConfiguration

Le tableau suivant répertorie les champs et les descriptions du type de données GsiButtonConfiguration:

Attribut
type Type de bouton: icône ou bouton standard.
theme Thème du bouton. (par exemple, remplissage_bleu ou remplissage_noir).
size Taille du bouton. Par exemple, petit ou grand.
text Texte du bouton. Par exemple, "Se connecter avec Google" ou "S'inscrire avec Google".
shape Forme du bouton. (par exemple, rectangulaire ou circulaire).
logo_alignment Alignement du logo Google: à gauche ou au centre.
width Largeur du bouton, en pixels.
locale Si ce paramètre est défini, la langue du bouton s'affiche.
click_listener Si cette option est définie, elle est appelée en cas de clic sur le bouton "Se connecter avec Google".

Types d'attributs

Les sections suivantes contiennent des informations sur le type de chaque attribut, ainsi qu'un exemple.

type

Type de bouton. La valeur par défaut est standard.

Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
chaîne Oui type: "icon"

Le tableau suivant répertorie les types de boutons disponibles et leur description:

Type
standard Bouton avec du texte ou des informations personnalisées :
icon Un bouton d'icône sans texte :

thème

Thème du bouton. La valeur par défaut est outline. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
chaîne Facultative theme: "filled_blue"

Le tableau suivant répertorie les thèmes disponibles et leur description:

Thème
outline Thème de bouton standard :
filled_blue Thème du bouton bleu :
filled_black Thème du bouton noir :

size

Taille du bouton. La valeur par défaut est large. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
chaîne Facultative size: "small"

Le tableau suivant répertorie les tailles de bouton disponibles et leur description:

Taille
large Un gros bouton :
Un grand bouton standard Un grand bouton Un grand bouton personnalisé
medium Un bouton de taille moyenne :
Un bouton de taille moyenne Un bouton avec une icône moyenne
small Un petit bouton :
Un petit bouton Un petit bouton avec une icône

text

Texte du bouton. La valeur par défaut est signin_with. Il n'y a aucune différence visuelle pour le texte des boutons avec des attributs text différents. La seule exception est la lecture du texte pour l'accessibilité de l'écran.

Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
chaîne Facultative text: "signup_with"

Le tableau suivant répertorie les textes de bouton disponibles et leur description:

Texte
signin_with Le texte du bouton est "Se connecter avec Google" :
signup_with Le texte du bouton est "S'inscrire avec Google" :
continue_with Le texte du bouton est "Continuer avec Google" :
signin Le texte du bouton est "Connexion" :

shape

Forme du bouton. La valeur par défaut est rectangular. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
chaîne Facultative shape: "rectangular"

Le tableau suivant répertorie les formes de boutons disponibles et leur description:

Forme
rectangular Bouton rectangulaire. Si elle est utilisée pour le type de bouton icon, elle est identique à square.
pill Bouton en forme de pilule. Si elle est utilisée pour le type de bouton icon, elle est identique à circle.
circle Bouton en forme de cercle. Si elle est utilisée pour le type de bouton standard, elle est identique à pill.
square Bouton carré. Si elle est utilisée pour le type de bouton standard, elle est identique à rectangular.

logo_alignement

L'alignement du logo Google. La valeur par défaut est left. Cet attribut s'applique uniquement au type de bouton standard. Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
chaîne Facultative logo_alignment: "center"

Le tableau suivant répertorie les alignements disponibles et leur description:

logo_alignement
left Aligne le logo Google à gauche.
center Centre le logo Google.

largeur

Largeur minimale du bouton, en pixels. La largeur maximale est de 400 pixels.

Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
chaîne Facultative width: 400

locale

Paramètres régionaux prédéfinis du texte du bouton. Si elle n'est pas définie, les paramètres régionaux par défaut du navigateur ou les préférences de l'utilisateur de la session Google sont utilisés. Par conséquent, les utilisateurs peuvent voir différentes versions des boutons localisés, et éventuellement des tailles différentes.

Pour en savoir plus, consultez le tableau suivant:

Type Obligatoire Exemple
chaîne Facultative locale: "zh_CN"

click_listener

Vous pouvez définir une fonction JavaScript à appeler lorsque l'utilisateur clique sur le bouton "Se connecter avec Google" à l'aide de l'attribut 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...")
  }
  

Dans l'exemple ci-dessus, lorsque vous cliquez sur le bouton Se connecter avec Google, le message se connecte à la console.

Type de données: identifiant

Lorsque votre fonction native_callback est appelée, un objet Credential est transmis en tant que paramètre. Le tableau suivant répertorie les champs contenus dans l'objet:

Champ
id Identifie l'utilisateur.
password Mot de passe

Méthode: google.accounts.id.disableAutoSelect

Lorsque l'utilisateur se déconnecte de votre site Web, vous devez appeler la méthode google.accounts.id.disableAutoSelect pour enregistrer l'état dans les cookies. Cela permet d'éviter une boucle morte pour l'expérience utilisateur. Consultez l'extrait de code suivant de la méthode:

google.accounts.id.disableAutoSelect()

L'exemple de code suivant implémente la méthode google.accounts.id.disableAutoSelect avec une fonction onSignout():

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

Méthode: google.accounts.id.storeCredential

Cette méthode est un wrapper simple pour la méthode store() de l'API native du gestionnaire d'identifiants du navigateur. Par conséquent, il ne peut être utilisé que pour stocker un identifiant de mot de passe. Consultez l'exemple de code suivant de la méthode:

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

L'exemple de code suivant implémente la méthode google.accounts.id.storeCredential avec une fonction onSignIn():

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

Méthode: google.accounts.id.cancel

Vous pouvez annuler le parcours en un seul geste si vous supprimez l'invite du DOM. L'opération d'annulation est ignorée si un identifiant est déjà sélectionné. Consultez l'exemple de code suivant de la méthode:

google.accounts.id.cancel()

L'exemple de code suivant implémente la méthode google.accounts.id.cancel() avec une fonction onNextButtonClicked():

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

Rappel de chargement de la bibliothèque: onGoogleLibraryLoad

Vous pouvez enregistrer un rappel onGoogleLibraryLoad. Vous recevrez une notification une fois la bibliothèque JavaScript Se connecter avec Google chargée:

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

Ce rappel n'est qu'un raccourci pour le rappel window.onload. Il n'y a aucune différence de comportement.

L'exemple de code suivant implémente un rappel onGoogleLibraryLoad:

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

Méthode: google.accounts.id.revoke

La méthode google.accounts.id.revoke révoque l'autorisation OAuth utilisée pour partager le jeton d'ID pour l'utilisateur spécifié. Consultez l'extrait de code suivant de la méthode : google.accounts.id.revoke(hint, callback)

Paramètre Type Description
hint chaîne Adresse e-mail ou identifiant unique du compte Google de l'utilisateur. L'ID correspond à la propriété sub de la charge utile credential.
callback fonction Gestionnaire RevocationResponse facultatif.

L'exemple de code suivant montre comment utiliser la méthode revoke avec un ID.

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

Type de données: RevocationResponse

Lorsque votre fonction callback est appelée, un objet RevocationResponse est transmis en tant que paramètre. Le tableau suivant répertorie les champs contenus dans l'objet de réponse de révocation:

Champ
successful Ce champ correspond à la valeur affichée par l'appel de méthode.
error Ce champ contient éventuellement un message de réponse d'erreur détaillé.

réussite

Ce champ est une valeur booléenne définie sur "true" si l'appel de la méthode de révocation a réussi ou false en cas d'échec.

erreur

Ce champ est une valeur de chaîne et contient un message d'erreur détaillé en cas d'échec de l'appel de méthode de révocation. Il n'est pas défini en cas de réussite.