Bibliothèque JavaScript d'autorisation Google tierce pour les sites Web – Documentation de référence de l'API

Cette référence décrit l'API Google Library JavaScript Authorization 3P, que vous pouvez utiliser pour charger des codes d'autorisation ou des jetons d'accès à partir de Google.

Méthode: google.accounts.oauth2.initCodeClient

La méthode initCodeClient initialise et renvoie un client de code, avec les configurations dans le paramètre.

google.accounts.oauth2.initCodeClient(config: CodeClientConfig)

Type de données: CodeClientConfig

Le tableau suivant répertorie les propriétés du type de données CodeClientConfig.

Propriétés
client_id Obligatoire. ID client de votre application. Vous trouverez cette valeur dans la console API.
scope Obligatoire. Liste de champs d'application délimités par des espaces qui identifient les ressources auxquelles votre application peut accéder pour le compte de l'utilisateur. Ces valeurs renseignent l'écran de consentement que Google affiche à l'utilisateur.
include_granted_scopes (Facultatif) La valeur par défaut est true. Permet aux applications d'utiliser l'autorisation incrémentielle pour demander l'accès à des champs d'application supplémentaires en contexte. Si vous définissez la valeur de ce paramètre sur false et que la requête d'autorisation est accordée, le nouveau jeton d'accès ne couvre que les champs d'application auxquels le scope a demandé dans ce CodeClientConfig.
redirect_uri Obligatoire pour l'expérience utilisateur de la redirection. Détermine vers quelle page le serveur d'API redirige l'utilisateur une fois qu'il a terminé le flux d'autorisation. La valeur doit correspondre exactement à l'un des URI de redirection autorisés pour le client OAuth 2.0 que vous avez configuré dans la console API et doit respecter nos Règles de validation des URI de redirection. La propriété sera ignorée par l'expérience utilisateur du pop-up.
callback Obligatoire pour l'expérience utilisateur du pop-up. Fonction JavaScript qui gère la réponse du code renvoyé. La propriété sera ignorée par l'expérience utilisateur de la redirection.
state Facultatif. Recommandé pour l'expérience utilisateur de la redirection. Spécifie toute valeur de chaîne que votre application utilise pour maintenir l'état entre votre demande d'autorisation et la réponse du serveur d'autorisation.
enable_granular_consent Obsolète, n'a aucun effet si défini. Pour en savoir plus sur le comportement du consentement, consultez la section Autorisations précises.
enable_serial_consent Obsolète, n'a aucun effet si défini. Pour en savoir plus sur le comportement du consentement, consultez la section Autorisations précises.
login_hint Facultatif. Si votre application sait quel utilisateur doit autoriser la requête, elle peut utiliser cette propriété pour fournir un indice de connexion à Google. Si l'opération aboutit, la sélection du compte est ignorée. Valeur du champ sub de l'adresse e-mail ou du jeton d'ID de l'utilisateur cible. Pour en savoir plus, consultez le champ login_hint dans la documentation OpenID Connect.
hd Facultatif. Si votre application connaît le domaine Workspace auquel l'utilisateur appartient, utilisez-le pour fournir une indication à Google. Si l'opération aboutit, les comptes utilisateur sont limités au domaine fourni ou présélectionnés pour celui-ci. Pour en savoir plus, consultez le champ hd dans la documentation OpenID Connect.
ux_mode Facultatif. Mode d'expérience utilisateur à utiliser pour le flux d'autorisation. Par défaut, le flux de consentement s'ouvre dans une fenêtre pop-up. Les valeurs valides sont popup et redirect.
select_account Facultatif, la valeur par défaut est false. Valeur booléenne pour inviter l'utilisateur à sélectionner un compte.
error_callback Facultatif. La fonction JavaScript qui gère certaines erreurs non OAuth, telles que l'échec de l'ouverture de la fenêtre pop-up ou la fermeture avant qu'une réponse OAuth ne soit renvoyée.

Le champ "type" du paramètre d'entrée indique le motif détaillé.
  • popup_failed_to_open Échec de l'ouverture de la fenêtre pop-up.
  • popup_closed La fenêtre pop-up est fermée avant qu'une réponse OAuth ne soit renvoyée.
  • unknown Espace réservé pour les autres erreurs.

Type de données: CodeClient

La classe ne comporte qu'une seule méthode publique, requestCode, qui lance le flux d'expérience utilisateur du code OAuth 2.0.

interface CodeClient {
  requestCode(): void;
}

Type de données: CodeResponse

Un objet JavaScript CodeResponse sera transmis à votre méthode callback dans l'expérience utilisateur du pop-up. Dans l'expérience utilisateur de la redirection, CodeResponse est transmis en tant que paramètres d'URL.

Le tableau suivant répertorie les propriétés du type de données CodeResponse.

Propriétés
code Code d'autorisation d'une réponse de jeton réussie.
scope Liste de champs d'application approuvés par l'utilisateur, délimités par des espaces.
state Valeur de chaîne utilisée par votre application pour maintenir l'état entre votre requête d'autorisation et la réponse.
error Un seul code d'erreur ASCII.
error_description Texte ASCII lisible par l'humain fournissant des informations supplémentaires, utilisé pour aider le développeur client à comprendre l'erreur qui s'est produite.
error_uri URI identifiant une page Web lisible par l'homme contenant des informations sur l'erreur, utilisé pour fournir au développeur client des informations supplémentaires sur l'erreur.

Méthode: google.accounts.oauth2.initTokenClient

La méthode initTokenClient initialise et renvoie un client de jeton, avec les configurations dans le paramètre.

google.accounts.oauth2.initTokenClient(config: TokenClientConfig)

Type de données: TokenClientConfig

Le tableau suivant répertorie les propriétés du type de données TokenClientConfig.

Propriétés
client_id Obligatoire. ID client de votre application. Vous le trouverez dans la console API.
callback Obligatoire. Fonction JavaScript qui gère la réponse du jeton renvoyé.
scope Obligatoire. Liste de champs d'application délimités par des espaces qui identifient les ressources auxquelles votre application peut accéder pour le compte de l'utilisateur. Ces valeurs renseignent l'écran de consentement que Google affiche à l'utilisateur.
include_granted_scopes (Facultatif) La valeur par défaut est true. Permet aux applications d'utiliser l'autorisation incrémentielle pour demander l'accès à des champs d'application supplémentaires en contexte. Si vous définissez la valeur de ce paramètre sur false et que la requête d'autorisation est accordée, le nouveau jeton d'accès ne couvre que les champs d'application auxquels le scope a demandé dans ce TokenClientConfig.
prompt Facultatif. La valeur par défaut est "select_account". Liste d'invites à présenter à l'utilisateur, délimitée par des espaces et sensible à la casse. Les valeurs possibles sont les suivantes :
  • chaîne vide L'utilisateur ne sera invité qu'à la première fois que votre application demandera l'accès. Ne peut pas être spécifié avec d'autres valeurs.
  • "none" : n'affichez aucun écran d'authentification ni de consentement. Ne doit pas être spécifié avec d'autres valeurs.
  • consent : invite l'utilisateur à donner son consentement.
  • 'select_account' Invite l'utilisateur à sélectionner un compte.
enable_granular_consent Obsolète, n'a aucun effet si défini. Pour en savoir plus sur le comportement du consentement, consultez la section Autorisations précises.
enable_serial_consent Obsolète, n'a aucun effet si défini. Pour en savoir plus sur le comportement du consentement, consultez la section Autorisations précises.
login_hint Facultatif. Si votre application sait quel utilisateur doit autoriser la requête, elle peut utiliser cette propriété pour fournir un indice de connexion à Google. Si l'opération aboutit, la sélection du compte est ignorée. Valeur du champ sub de l'adresse e-mail ou du jeton d'ID de l'utilisateur cible. Pour en savoir plus, consultez le champ login_hint dans la documentation OpenID Connect.
hd Facultatif. Si votre application connaît le domaine Workspace auquel l'utilisateur appartient, utilisez-le pour fournir une indication à Google. Si l'opération aboutit, les comptes utilisateur sont limités au domaine fourni ou présélectionnés pour celui-ci. Pour en savoir plus, consultez le champ hd dans la documentation OpenID Connect.
state Facultatif. Utilisation déconseillée Spécifie toute valeur de chaîne que votre application utilise pour maintenir l'état entre votre demande d'autorisation et la réponse du serveur d'autorisation.
error_callback Facultatif. La fonction JavaScript qui gère certaines erreurs non OAuth, telles que l'échec de l'ouverture de la fenêtre pop-up ou la fermeture avant qu'une réponse OAuth ne soit renvoyée.

Le champ "type" du paramètre d'entrée indique le motif détaillé.
  • popup_failed_to_open Échec de l'ouverture de la fenêtre pop-up.
  • popup_closed La fenêtre pop-up est fermée avant qu'une réponse OAuth ne soit renvoyée.
  • unknown Espace réservé pour les autres erreurs.

Type de données: TokenClient

La classe ne comporte qu'une seule méthode publique, requestAccessToken, qui lance le flux d'expérience utilisateur du jeton OAuth 2.0.

interface TokenClient {
  requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
Arguments
overrideConfig OverridableTokenClientConfig Facultatif. Les configurations à remplacer dans cette méthode.

Type de données: OverridableTokenClientConfig

Le tableau suivant répertorie les propriétés du type de données OverridableTokenClientConfig.

Propriétés
scope Facultatif. Liste de champs d'application délimités par des espaces qui identifient les ressources auxquelles votre application peut accéder pour le compte de l'utilisateur. Ces valeurs renseignent l'écran de consentement que Google affiche à l'utilisateur.
include_granted_scopes (Facultatif) La valeur par défaut est true. Permet aux applications d'utiliser l'autorisation incrémentielle pour demander l'accès à des champs d'application supplémentaires en contexte. Si vous définissez la valeur de ce paramètre sur false et que la requête d'autorisation est accordée, le nouveau jeton d'accès ne couvre que les champs d'application auxquels le scope a demandé dans ce OverridableTokenClientConfig.
prompt Facultatif. Liste d'invites à présenter à l'utilisateur, délimitée par des espaces et sensible à la casse.
enable_granular_consent Obsolète, n'a aucun effet si défini. Pour en savoir plus sur le comportement du consentement, consultez la section Autorisations précises.
enable_serial_consent Obsolète, n'a aucun effet si défini. Pour en savoir plus sur le comportement du consentement, consultez la section Autorisations précises.
login_hint Facultatif. Si votre application sait quel utilisateur doit autoriser la requête, elle peut utiliser cette propriété pour fournir un indice de connexion à Google. Si l'opération aboutit, la sélection du compte est ignorée. Valeur du champ sub de l'adresse e-mail ou du jeton d'ID de l'utilisateur cible. Pour en savoir plus, consultez le champ login_hint dans la documentation OpenID Connect.
state Facultatif. Utilisation déconseillée Spécifie toute valeur de chaîne que votre application utilise pour maintenir l'état entre votre demande d'autorisation et la réponse du serveur d'autorisation.

Type de données: TokenResponse

Un objet JavaScript TokenResponse sera transmis à votre méthode de rappel dans l'expérience utilisateur du pop-up.

Le tableau suivant répertorie les propriétés du type de données TokenResponse.

Propriétés
access_token Jeton d'accès d'une réponse de jeton réussie.
expires_in Durée de vie du jeton d'accès, en secondes.
hd Domaine hébergé auquel appartient l'utilisateur connecté.
prompt Valeur de l'invite utilisée à partir de la liste de valeurs possibles spécifiée par TokenClientConfig ou OverridableTokenClientConfig.
token_type Type du jeton émis.
scope Liste de champs d'application approuvés par l'utilisateur, délimités par des espaces.
state Valeur de chaîne utilisée par votre application pour maintenir l'état entre votre requête d'autorisation et la réponse.
error Un seul code d'erreur ASCII.
error_description Texte ASCII lisible par l'humain fournissant des informations supplémentaires, utilisé pour aider le développeur client à comprendre l'erreur qui s'est produite.
error_uri URI identifiant une page Web lisible par l'homme contenant des informations sur l'erreur, utilisé pour fournir au développeur client des informations supplémentaires sur l'erreur.

Méthode: google.accounts.oauth2.hasGrantedAllScopes

Vérifie si l'utilisateur a accordé tous les champs d'application spécifiés.

google.accounts.oauth2.hasGrantedAllScopes(
                                            tokenResponse: TokenResponse,
                                            firstScope: string, ...restScopes: string[]
                                          ): boolean;
Arguments
tokenResponse TokenResponse Obligatoire. Un objet TokenResponse.
firstScope chaîne Obligatoire. Champ d'application à vérifier.
restScopes chaîne[] Facultatif. Autres champs d'application à vérifier.
Renvoie
booléen "True" si tous les champs d'application sont accordés.

Méthode: google.accounts.oauth2.hasGrantedAnyScope

Vérifie si l'utilisateur a accordé l'un des champs d'application spécifiés.

google.accounts.oauth2.hasGrantedAnyScope(
                                           tokenResponse: TokenResponse,
                                           firstScope: string, ...restScopes: string[]
                                         ): boolean;
Arguments
tokenResponse TokenResponse Obligatoire. Un objet TokenResponse.
firstScope chaîne Obligatoire. Champ d'application à vérifier.
restScopes chaîne[] Facultatif. Autres champs d'application à vérifier.
Renvoie
booléen "True" si l'une des autorisations est accordée.

Méthode: google.accounts.oauth2.revoke

La méthode revoke révoque tous les champs d'application que l'utilisateur a accordés à l'application. Un jeton d'accès valide est requis pour révoquer l'autorisation.

google.accounts.oauth2.revoke(accessToken: string, done: () => void): void;
Arguments
accessToken chaîne Obligatoire. Un jeton d'accès valide.
callback fonction Facultatif. Gestionnaire RevocationResponse.

Type de données: RevocationResponse

Un objet JavaScript RevocationResponse est transmis à votre méthode de rappel.

Le tableau suivant répertorie les propriétés du type de données RevocationResponse.

Propriétés
successful Valeur booléenne. true en cas de réussite, false en cas d'échec.
error Chaîne. Indéfini en cas de réussite. Un seul code d'erreur ASCII. Cela inclut, mais sans s'y limiter, les codes d'erreur OAuth 2.0 standards. Erreurs courantes pour la méthode revoke :
  • invalid_token : le jeton a déjà expiré ou a été révoqué avant l'appel de la méthode revoke. Dans la plupart des cas, vous pouvez considérer que l'autorisation associée à la accessToken est révoquée.
  • invalid_request : le jeton ne peut pas être révoqué. Vous devez vous assurer que accessToken est un identifiant Google OAuth 2.0 valide.
error_description Chaîne. Indéfini en cas de réussite. Le texte ASCII lisible par l'homme fournit des informations supplémentaires sur la propriété error. Les développeurs peuvent s'en servir pour mieux comprendre l'erreur qui s'est produite. La chaîne error_description est en anglais uniquement. Pour les erreurs courantes listées dans error, error_description correspondant :
  • invalid_token : le jeton a expiré ou a été révoqué.
  • invalid_request : le jeton ne peut pas être révoqué.