Documentation de référence sur l'API JavaScript d'autorisation de compte Google

Cette référence décrit l'API JavaScript d'autorisation de compte Google, utilisée pour obtenir des codes d'autorisation ou des jetons d'accès auprès 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 liste 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 APIs.
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 informent 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 dans le contexte. Si vous définissez la valeur de ce paramètre sur false et que la demande d'autorisation est accordée, le nouveau jeton d'accès ne couvrira que les champs d'application auxquels le scope demandé dans ce CodeClientConfig.
redirect_uri Obligatoire pour l'expérience utilisateur de redirection. Détermine l'emplacement vers lequel 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. Elle doit également 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 des pop-ups. Fonction JavaScript qui gère la réponse du code renvoyé. La propriété sera ignorée par l'expérience utilisateur de redirection.
state Facultatif. Recommandé pour l'expérience utilisateur de 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, sans effet si défini. Pour en savoir plus sur le comportement du consentement, consultez la section Autorisations précises.
enable_serial_consent Obsolète, sans 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 réussit, la sélection du compte est ignorée. Valeur du champ sub de l'adresse e-mail ou du jeton d'identité 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 appartient l'utilisateur, utilisez-le pour fournir un indice à Google. Si l'opération réussit, 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 UX à utiliser pour le flux d'autorisation. Par défaut, le flux de consentement s'ouvre dans un pop-up. Les valeurs valides sont popup et redirect.
select_account Facultatif, la valeur par défaut est false. Valeur booléenne permettant d'inviter l'utilisateur à sélectionner un compte.
error_callback Facultatif. Fonction JavaScript qui gère certaines erreurs non liées à OAuth, par exemple l'échec de l'ouverture de la fenêtre pop-up ou sa fermeture avant le renvoi d'une réponse OAuth.

Le champ "type" du paramètre d'entrée fournit 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 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 redirection, CodeResponse sera transmis en tant que paramètres d'URL.

Le tableau suivant liste 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 délimités par des espaces et approuvés par l'utilisateur.
state Valeur de chaîne utilisée par votre application pour maintenir l'état entre votre demande d'autorisation et la réponse.
error Code d'erreur ASCII unique.
error_description Texte ASCII lisible par un humain fournissant des informations supplémentaires, utilisé pour aider le développeur du client à comprendre l'erreur qui s'est produite.
error_uri URI identifiant une page Web lisible par un humain contenant des informations sur l'erreur, utilisé pour fournir au développeur du 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 liste les propriétés du type de données TokenClientConfig.

Propriétés
client_id Obligatoire. ID client de votre application. Vous trouverez cette valeur dans la console APIs.
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 informent 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 dans le contexte. Si vous définissez la valeur de ce paramètre sur false et que la demande d'autorisation est accordée, le nouveau jeton d'accès ne couvrira que les champs d'application auxquels le scope demandé dans ce TokenClientConfig.
prompt Facultatif, la valeur par défaut est select_account. Liste d'invites à présenter à l'utilisateur, délimitées par des espaces et sensibles à la casse. Les valeurs possibles sont les suivantes :
  • chaîne vide : l'utilisateur ne sera invité à accorder l'accès qu'à la première demande de votre application. Ne peut pas être spécifié avec d'autres valeurs.
  • "none" : n'affiche 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, sans effet si défini. Pour en savoir plus sur le comportement du consentement, consultez la section Autorisations précises.
enable_serial_consent Obsolète, sans 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 réussit, la sélection du compte est ignorée. Valeur du champ sub de l'adresse e-mail ou du jeton d'identité 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 appartient l'utilisateur, utilisez-le pour fournir un indice à Google. Si l'opération réussit, 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. Fonction JavaScript qui gère certaines erreurs non liées à OAuth, par exemple l'échec de l'ouverture de la fenêtre pop-up ou sa fermeture avant le renvoi d'une réponse OAuth.

Le champ "type" du paramètre d'entrée fournit 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 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. Configurations à remplacer dans cette méthode.

Type de données : OverridableTokenClientConfig

Le tableau suivant liste 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 sont utilisées dans 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 dans le contexte. Si vous définissez la valeur de ce paramètre sur false et que la demande d'autorisation est accordée, le nouveau jeton d'accès ne couvrira que les champs d'application auxquels le scope demandé dans ce OverridableTokenClientConfig.
prompt Facultatif. Liste d'invites à présenter à l'utilisateur, délimitées par des espaces et sensibles à la casse.
enable_granular_consent Obsolète, sans effet si défini. Pour en savoir plus sur le comportement du consentement, consultez la section Autorisations précises.
enable_serial_consent Obsolète, sans 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 réussit, la sélection du compte est ignorée. Valeur du champ sub de l'adresse e-mail ou du jeton d'identité 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'interface utilisateur pop-up.

Le tableau suivant liste 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 d'invite utilisée à partir de la liste des valeurs possibles spécifiées par TokenClientConfig ou OverridableTokenClientConfig.
token_type Type de jeton émis.
scope Liste de champs d'application délimités par des espaces et approuvés par l'utilisateur.
state Valeur de chaîne utilisée par votre application pour maintenir l'état entre votre demande d'autorisation et la réponse.
error Code d'erreur ASCII unique.
error_description Texte ASCII lisible par un humain fournissant des informations supplémentaires, utilisé pour aider le développeur du client à comprendre l'erreur qui s'est produite.
error_uri URI identifiant une page Web lisible par un humain contenant des informations sur l'erreur, utilisé pour fournir au développeur du client des informations supplémentaires sur l'erreur.

Méthode : google.accounts.oauth2.hasGrantedAllScopes

Vérifie si l'utilisateur a accordé tous les niveaux d'accès 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 à vérifier.
restScopes chaîne[] Facultatif. Autres niveaux à vérifier.
Renvoie
booléen "True" si tous les niveaux d'accès sont accordés.

Méthode : google.accounts.oauth2.hasGrantedAnyScope

Vérifie si l'utilisateur a accordé l'un des niveaux d'accès 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 à vérifier.
restScopes chaîne[] Facultatif. Autres niveaux à 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 niveaux d'accès 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 sera transmis à votre méthode de rappel.

Le tableau suivant liste 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. Code d'erreur ASCII unique. Cela inclut, 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é. Assurez-vous 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 l'utiliser pour mieux comprendre l'erreur qui s'est produite. La chaîne error_description n'est disponible qu'en anglais. Pour les erreurs courantes listées dans error, consultez la error_description correspondante :
  • invalid_token : le jeton a expiré ou a été révoqué.
  • invalid_request : le jeton ne peut pas être révoqué.