Utiliser un compte de service avec l'API Chrome Web Store

L'API Chrome Web Store est compatible avec l'authentification à l'aide de comptes de service Google Cloud. Les comptes de service sont des comptes spéciaux non humains conçus pour les interactions de serveur à serveur. Ils sont donc idéaux pour automatiser vos workflows de publication d'extensions, par exemple dans les pipelines CI/CD ou d'autres services de backend. Ils peuvent permettre d'utiliser l'API sans avoir à suivre un flux OAuth avec l'implication directe d'un utilisateur.

En associant un compte de service à votre tableau de bord du développeur Chrome Web Store, vous lui accordez l'autorisation de gérer les éléments appartenant à votre compte d'éditeur.

Configuration

Nous allons d'abord configurer un compte de service et lui accorder l'accès à l'API Chrome Web Store.

Activer l'API Chrome Web Store

  1. Accédez à la console Google Cloud.
  2. Créez un projet ou sélectionnez-en un existant.
    Créez un projet dans la console Google.
    Créez un projet dans la console Google.
  3. Dans la barre de recherche, saisissez "Chrome Web Store API".
  4. Activez l'API Chrome Web Store.

Créer un compte de service

Ajouter un compte de service dans la console Google Cloud
Ajouter un compte de service dans la console Google Cloud

Créez un compte de service dans la console Google Cloud. Vous n'avez pas besoin d'ajouter d'autorisations au compte de service à ce stade.

Ajouter le compte de service dans le tableau de bord des développeurs

Ajouter un compte de service dans le tableau de bord des développeurs
Ajouter un compte de service dans le tableau de bord du développeur.

Accordez à votre compte de service l'accès à l'API Chrome Web Store en ajoutant l'adresse e-mail du compte de service dans le tableau de bord du développeur, dans la section Compte.

Obtenir des jetons d'accès

Pour utiliser un compte de service avec l'API Chrome Web Store, votre application doit obtenir un jeton d'accès associé au compte de service. Il existe plusieurs façons de procéder, en fonction de l'endroit où s'exécute le code de votre application et de vos préférences de sécurité.

Emprunter l'identité d'un compte de service

Vous pouvez utiliser l'outil de ligne de commande gcloud pour obtenir un jeton d'accès éphémère pour votre compte de service. Cette méthode est souvent utilisée pour le développement local ou l'accès à l'interface de ligne de commande.

gcloud auth login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
gcloud config set project PROJECT_ID
gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT_EMAIL --scopes=https://www.googleapis.com/auth/chromewebstore
ACCESS_TOKEN=<The output from the last command>

Ensuite, effectuez des requêtes comme indiqué dans le tutoriel.

Utiliser un jeton Web JSON

Vous pouvez également vous authentifier directement via HTTP à l'aide d'un jeton Web JSON (JWT). Créez une clé JSON pour votre compte de service dans la console Google Cloud.

Boîte de dialogue de création de clé dans la console Google Cloud.
Boîte de dialogue de création de clé dans la console Google Cloud.

Suivez ensuite la procédure pour créer un jeton JWT et l'échanger contre un jeton d'accès.