Usar uma conta de serviço com a API Chrome Web Store

A API Chrome Web Store aceita autenticação usando contas de serviço do Google Cloud. As contas de serviço são especiais e não humanas, projetadas para interações de servidor para servidor. Isso as torna ideais para automatizar seus fluxos de trabalho de publicação de extensões, como em pipelines de CI/CD ou outros serviços de back-end. Eles podem permitir que a API seja usada sem precisar passar por um fluxo OAuth com o envolvimento direto de um usuário.

Ao vincular uma conta de serviço ao Painel de controle do desenvolvedor da Chrome Web Store, você concede a ela autoridade para gerenciar itens pertencentes à sua conta de publisher.

Configuração

Primeiro, vamos configurar uma conta de serviço e conceder a ela acesso à API Chrome Web Store.

Ativar a API Chrome Web Store

  1. Acesse o Console do Google Cloud.
  2. Crie um projeto ou selecione um atual.
    Crie um projeto no console do Google.
    Crie um projeto no console do Google.
  3. Na barra de pesquisa, digite "API Chrome Web Store".
  4. Ative a API Chrome Web Store.

Criar uma conta de serviço

Adicionar uma nova conta de serviço no console do Google Cloud.
Adicionar uma nova conta de serviço no console do Google Cloud.

Crie uma conta de serviço no Console do Google Cloud. Não é necessário adicionar permissões à conta de serviço nesta etapa.

Adicionar a conta de serviço no painel do desenvolvedor

Adicionar uma nova conta de serviço no painel do desenvolvedor.
Adicionar uma nova conta de serviço no painel de controle do desenvolvedor.

Conceda à sua conta de serviço acesso à API Chrome Web Store adicionando o e-mail dela no painel para desenvolvedores, na seção Conta.

Receber tokens de acesso

Para usar uma conta de serviço com a API Chrome Web Store, seu aplicativo precisa receber um token de acesso associado à conta de serviço. Há várias maneiras de fazer isso, dependendo de onde o código do aplicativo está sendo executado e das suas preferências de segurança.

Identidade temporária de conta de serviço

É possível usar a ferramenta de linha de comando gcloud para receber um token de acesso de curta duração para sua conta de serviço. Isso é usado com frequência para desenvolvimento local ou acesso da CLI.

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>

Em seguida, faça solicitações conforme mostrado no tutorial.

Usar um JSON Web Token

Como alternativa, é possível fazer a autenticação diretamente por HTTP usando um JSON Web Token (JWT). Crie uma chave JSON para sua conta de serviço no console do Google Cloud.

Caixa de diálogo de criação de chaves no console do Google Cloud.
Caixa de diálogo de criação de chaves no Console do Google Cloud.

Em seguida, siga as etapas para criar um JWT e trocá-lo por um token de acesso.