Dienstkonto mit der Chrome Web Store API verwenden

Die Chrome Web Store API unterstützt die Authentifizierung mit Google Cloud-Dienstkonten. Dienstkonten sind spezielle Konten, die nicht von Menschen verwendet werden und für Interaktionen zwischen Servern konzipiert sind. Sie eignen sich daher ideal für die Automatisierung Ihrer Workflows für die Veröffentlichung von Erweiterungen, z. B. in CI/CD-Pipelines oder anderen Backend-Diensten. Damit kann die API verwendet werden, ohne dass ein OAuth-Ablauf mit direkter Beteiligung eines Nutzers erforderlich ist.

Wenn Sie ein Dienstkonto mit Ihrem Chrome Web Store-Entwickler-Dashboard verknüpfen, gewähren Sie ihm die Berechtigung, Elemente zu verwalten, die Ihrem Publisher-Konto gehören.

Einrichtung

Zuerst richten wir ein Dienstkonto ein und gewähren ihm Zugriff auf die Chrome Web Store API.

Chrome Web Store API aktivieren

  1. Rufen Sie die Google Cloud Console auf.
  2. Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes aus.
    Erstellen Sie ein neues Projekt in der Google Console.
    Erstellen Sie ein neues Projekt in der Google Console.
  3. Geben Sie in die Suchleiste „Chrome Web Store API“ ein.
  4. Aktivieren Sie die Chrome Web Store API.

Dienstkonto erstellen

Ein neues Dienstkonto in der Google Cloud Console hinzufügen
Neues Dienstkonto in der Google Cloud Console hinzufügen

Erstellen Sie ein Dienstkonto in der Google Cloud Console. Sie müssen dem Dienstkonto in dieser Phase keine Berechtigungen hinzufügen.

Dienstkonto im Entwickler-Dashboard hinzufügen

Ein neues Dienstkonto im Developer Dashboard hinzufügen
Neues Dienstkonto im Entwickler-Dashboard hinzufügen

Gewähren Sie Ihrem Dienstkonto Zugriff auf die Chrome Web Store API, indem Sie die E‑Mail-Adresse des Dienstkontos im Entwickler-Dashboard im Bereich Konto hinzufügen.

Zugriffstokens abrufen

Wenn Sie ein Dienstkonto mit der Chrome Web Store API verwenden möchten, muss Ihre Anwendung ein Zugriffstoken abrufen, das mit dem Dienstkonto verknüpft ist. Je nachdem, wo Ihr Anwendungscode ausgeführt wird und welche Sicherheitsanforderungen Sie haben, gibt es mehrere Möglichkeiten.

Identitätsübertragung für ein Dienstkonto

Mit dem gcloud-Befehlszeilentool können Sie ein kurzlebiges Zugriffstoken für Ihr Dienstkonto abrufen. Dies wird häufig für die lokale Entwicklung oder den CLI-Zugriff verwendet.

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>

Stellen Sie dann Anfragen, wie im Tutorial beschrieben.

JSON-Webtoken verwenden

Alternativ können Sie sich direkt über HTTP mit einem JSON Web Token (JWT) authentifizieren. Erstellen Sie in der Google Cloud Console einen JSON-Schlüssel für Ihr Dienstkonto.

Dialogfeld zum Erstellen von Schlüsseln in der Google Cloud Console
Dialogfeld zum Erstellen von Schlüsseln in der Google Cloud Console

Folgen Sie dann der Anleitung zum Erstellen eines JWT und zum Eintauschen gegen ein Zugriffstoken.