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

Ce document de référence décrit l'API 3P Authorization Library JavaScript de Google, 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 le de configuration 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 déterminent l'écran de consentement que Google présente à l'utilisateur.
include_granted_scopes Facultatif. Valeur par défaut : true. Permet aux applications d'utiliser des stratégies l'autorisation de demander l'accès à des niveaux d'accès supplémentaires en 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 niveaux d'accès demandés par le scope. dans ce/cette CodeClientConfig.
redirect_uri Obligatoire pour l'expérience utilisateur de redirection. Détermine où le serveur d'API redirige l'utilisateur une fois que celui-ci 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 pop-up.
callback Obligatoire pour l'expérience utilisateur 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 redirection.
state Facultatif. Cette option est recommandée pour la redirection de l'expérience utilisateur. Spécifie toute valeur de chaîne utilisée par votre application pour maintenir l'état entre votre demande d'autorisation et la réponse du serveur d'autorisation.
enable_granular_consent Facultatif. Valeur par défaut : true. Si la valeur est false, autorisations plus précises du compte Google serait désactivé pour les ID client OAuth créés avant 2019. Si enable_granular_consent et enable_serial_consent sont tous les deux définis, seul enable_granular_consent est défini. valeur prend effet et la valeur enable_serial_consent serait ignorée.

Aucun effet pour les ID client OAuth les plus récents, car des autorisations plus précises sont toujours activées pour ces derniers.
enable_serial_consent Obsolète. Utilisez plutôt enable_granular_consent. Ce a le même effet que enable_granular_consent. Applications existantes qui utilisent enable_serial_consent peuvent continuer à le faire, nous vous invitons à mettre à jour votre code afin d'utiliser enable_granular_consent la prochaine mise à jour de votre application.
login_hint Facultatif. Si votre application sait quel utilisateur doit autoriser la requête, elle peut utiliser cette propriété pour fournir à Google un indice de connexion. Lorsque 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'ID pour l'utilisateur cible. Pour en savoir plus, consultez la section concernant le champ login_hint dans la documentation OpenID Connect.
hd Facultatif. Si votre application connaît le domaine Workspace auquel appartient l'utilisateur, utilisez ce champ pour fournir un indice à Google. Lorsque 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 la section concernant 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 un pop-up. Les valeurs valides sont popup et redirect.
select_account Facultatif. Valeur par défaut : 'false'. Valeur booléenne invitant l'utilisateur à sélectionner un compte.
error_callback Facultatif. La fonction JavaScript qui gère certaines erreurs autres que OAuth, telles que le la fenêtre pop-up ne s'ouvre pas ; ou fermé avant qu'une réponse OAuth ne soit renvoyé.

Le champ "type" du paramètre d'entrée indique le motif détaillé.
  • popup_failed_to_open La fenêtre pop-up ne s'ouvre pas.
  • popup_closed La fenêtre pop-up est fermée avant qu'un est renvoyée.
  • unknown Espace réservé pour d'autres erreurs.

Type de données: CodeClient

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

interface CodeClient {
  requestCode(): void;
}

Type de données: CodeResponse

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

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, séparés par un espace.
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 Code d'erreur ASCII unique.
error_description Texte ASCII lisible par l'humain fournissant des informations supplémentaires, pour aider le développeur du client à comprendre l'erreur qui s'est produite.
error_uri URI identifiant une page Web lisible par l'humain et contenant des informations sur l'erreur. Cet attribut permet de 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 le de configuration 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 trouverez cette valeur 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 déterminent l'écran de consentement que Google présente à l'utilisateur.
include_granted_scopes Facultatif. Valeur par défaut : true. Permet aux applications d'utiliser des stratégies l'autorisation de demander l'accès à des niveaux d'accès supplémentaires en 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 niveaux d'accès demandés par le scope. dans ce/cette TokenClientConfig.
prompt Facultatif. Valeur par défaut : 'select_account'. Une valeur délimitée par un espace d'invites sensibles à la casse à présenter à l'utilisateur. Les valeurs possibles sont les suivantes: <ph type="x-smartling-placeholder">
    </ph>
  • Chaîne vide : l'utilisateur reçoit une invite la première fois que votre application demande l'accès. Ne peut pas être spécifié avec d'autres valeurs.
  • 'none' : n'affiche aucun écran d'authentification ou de consentement. Ne doit pas être spécifié avec d'autres valeurs.
  • 'consent' : invitez l'utilisateur à donner son consentement.
  • 'select_account' : invitez l'utilisateur à sélectionner un compte.
enable_granular_consent Facultatif. Valeur par défaut : true. Si la valeur est false, autorisations plus précises du compte Google serait désactivé pour les ID client OAuth créés avant 2019. Si enable_granular_consent et enable_serial_consent sont tous les deux définis, seul enable_granular_consent est défini. valeur prend effet et la valeur enable_serial_consent serait ignorée.

Aucun effet pour les ID client OAuth les plus récents, car des autorisations plus précises sont toujours activées pour ces derniers.
enable_serial_consent Obsolète. Utilisez plutôt enable_granular_consent. Ce a le même effet que enable_granular_consent. Applications existantes qui utilisent enable_serial_consent peuvent continuer à le faire, nous vous invitons à mettre à jour votre code afin d'utiliser enable_granular_consent la prochaine mise à jour de votre application.
login_hint Facultatif. Si votre application sait quel utilisateur doit autoriser la requête, elle peut utiliser cette propriété pour fournir à Google un indice de connexion. Lorsque 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'ID pour l'utilisateur cible. Pour en savoir plus, consultez la section concernant le champ login_hint dans la documentation OpenID Connect.
hd Facultatif. Si votre application connaît le domaine Workspace auquel appartient l'utilisateur, utilisez ce champ pour fournir un indice à Google. Lorsque 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 la section concernant le champ hd dans la documentation OpenID Connect.
state Facultatif. Utilisation déconseillée Spécifie toute valeur de chaîne utilisée par votre application 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 autres que OAuth, telles que le la fenêtre pop-up ne s'ouvre pas ; ou fermé avant qu'une réponse OAuth ne soit renvoyé.

Le champ "type" du paramètre d'entrée indique le motif détaillé.
  • popup_failed_to_open La fenêtre pop-up ne s'ouvre pas.
  • popup_closed La fenêtre pop-up est fermée avant qu'un est renvoyée.
  • unknown Espace réservé pour d'autres erreurs.

Type de données: TokenClient

La classe ne comporte qu'une seule méthode publique requestAccessToken, qui lance le Flux de l'expérience utilisateur à l'aide d'un 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 répertorie les propriétés de OverridableTokenClientConfig. type de données.

Propriétés
scope Facultatif. Liste de niveaux d'accès délimités par des espaces qui identifient les ressources auquel votre application peut accéder au nom de l'utilisateur. Ces valeurs indiquer l'écran de consentement que Google présente à l'utilisateur.
include_granted_scopes Facultatif. Valeur par défaut : true. Permet aux applications d'utiliser des stratégies l'autorisation de demander l'accès à des niveaux d'accès supplémentaires en 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 niveaux d'accès demandés par le scope. dans ce/cette OverridableTokenClientConfig.
prompt Facultatif. Liste de requêtes sensibles à la casse et séparées par des espaces à présenter à l'utilisateur.
enable_granular_consent Facultatif. Valeur par défaut : true. Si la valeur est false, autorisations plus précises du compte Google serait désactivé pour les ID client OAuth créés avant 2019.Si enable_granular_consent et enable_serial_consent sont tous les deux définis, seul enable_granular_consent valeur prend effet et la valeur enable_serial_consent serait ignorée.

Aucun effet pour les ID client OAuth les plus récents, car des autorisations plus précises sont toujours activées pour ces derniers.
enable_serial_consent Obsolète. Utilisez plutôt enable_granular_consent. Ce a le même effet que enable_granular_consent. Applications existantes qui utilisent enable_serial_consent peuvent continuer à le faire, nous vous invitons à mettre à jour votre code afin d'utiliser enable_granular_consent la prochaine mise à jour de votre application.
login_hint Facultatif. Si votre application sait quel utilisateur doit autoriser la requête, elle peut utiliser cette propriété pour fournir à Google un indice de connexion. Lorsque 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'ID pour l'utilisateur cible. Pour en savoir plus, consultez la section concernant le champ login_hint dans la documentation OpenID Connect.
state Facultatif. Utilisation déconseillée Spécifie toute valeur de chaîne utilisée par votre application 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 le pop-up UX.

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 requête utilisée dans la liste possible de valeurs spécifiées par TokenClientConfig ou OverridableTokenClientConfig.
token_type Type de jeton émis.
scope Liste de champs d'application approuvés par l'utilisateur, séparés par un espace.
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 Code d'erreur ASCII unique.
error_description Texte ASCII lisible par l'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 l'humain et contenant des informations sur l'erreur. Cet attribut permet de 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 champs d'application spécifiés.

google.accounts.oauth2.hasGrantedAllScopes(
                                            tokenResponse: TokenResponse,
                                            firstScope: string, ...restScopes: string[]
                                          ): boolean;
Arguments
tokenResponse TokenResponse Obligatoire. Un 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 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'un des champs d'application est accordé.

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. Jeton d'accès valide.
callback fonction Facultatif. RevocationResponse.

Type de données: RevocationResponse

Un objet JavaScript RevocationResponse sera 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. Non défini en cas de réussite. Code d'erreur ASCII unique. Cela inclut, sans s'y limiter, le protocole OAuth standard 2.0. Erreurs courantes pour la méthode revoke: <ph type="x-smartling-placeholder">
    </ph>
  • 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 l'octroi associé accessToken est révoqué.
  • invalid_request : le jeton n'est pas révocable. Vous devez vous assurer accessToken est un identifiant Google OAuth 2.0 valide.
error_description Chaîne. Non défini en cas de réussite. Un texte ASCII lisible par l'humain fournit des informations supplémentaires sur error. Il permet aux développeurs de mieux comprendre l'erreur qui s'est produite. La chaîne error_description n'est disponible qu'en anglais. Pour les erreurs courantes répertoriées dans error, le error_description correspondant: <ph type="x-smartling-placeholder">
    </ph>
  • invalid_token : le jeton a expiré ou a été révoqué.
  • invalid_request : le jeton n'est pas révocable.