Antes que usuários ou aplicativos possam usar a API Google App Engine Admin, como proprietário do projeto do Google Cloud, primeiro ative a API no projeto e depois crie credenciais que os usuários ou aplicativos possam usar para autorizar HTTP.
Por exemplo, um proprietário precisa criar um projeto inicial do Google Cloud e depois criar credenciais nesse projeto para que qualquer pessoa possa enviar solicitações HTTP para a API Admin. Depois que o proprietário definir e configurar o projeto inicial, esse projeto poderá ser usado com fins administrativos para criar e gerenciar outros recursos de maneira programática. Por exemplo:
- Criar outros projetos do Google Cloud.
- Criar aplicativos do App Engine para todos os projetos recém-criados.
- Implantar versões de aplicativos em aplicativos recém-criados do App Engine.
- Gerenciar recursos em todas as versões que você implantou.
Antes de começar
Para concluir a tarefa a seguir, é preciso ser proprietário do projeto do Google Cloud em que quer ativar a API Admin para usuários e aplicativos.
Configurar o projeto e criar credenciais
Para configurar seu projeto do Google Cloud e criar credenciais:
Ative a API Admin do Google App Engine e a API Cloud Storage no seu projeto do Google Cloud:
Crie credenciais que usuários e aplicativos usarão para acessar a API Admin no projeto.
Para criar credenciais, analise o Guia de autenticação do Google Cloud Platform e escolha o fluxo de autorização do OAuth 2.0 que atenda aos requisitos do aplicativo.
Exemplos
Para demonstrar um fluxo de autenticação, os exemplos abaixo usam o fluxo OAuth 2.0 do lado do cliente, para receber um token. O token é usado para autorizar solicitações à API Admin com o uso da ferramenta de linha de comando cURL, para implantar o aplicativo de exemplo no aplicativo do App Engine do projeto [MY_PROJECT_ID]
.
Exemplo de autenticação
Neste exemplo, no fluxo de autorização do lado do cliente, conhecido como o fluxo de concessão implícito, é obrigatório que o usuário autorize o acesso do aplicativo cliente à API Admin, em nome do usuário. O token de acesso retornado é válido por aproximadamente 60 minutos ou enquanto o usuário estiver ativo no aplicativo.
Solicitação HTTP
O URL a seguir usa um código do cliente que foi criado no console do Google Cloud para solicitar um token de acesso e redirecionar o usuário para um URI autorizado em que o aplicativo recebe o token:
https://accounts.google.com/o/oauth2/v2/auth?
response_type=token&
client_id=[MY_CLIENT_ID].apps.googleusercontent.com&
scope=https://www.googleapis.com/auth/cloud-platform&
redirect_uri=[MY_REDIRECT_URI]
Em que:
[MY_CLIENT_ID]
é um ID do cliente de uma das suas credenciais no Console do Google Cloud.[MY_REDIRECT_URI]
são os URIs de redirecionamento autorizados que correspondem à mesma credencial no Console do Google Cloud. Se nenhum URI de redirecionamento for especificado, será preciso especificar um URI confiável, por exemplo,https://www.google.com
. Observação: o URI de redirecionamento define para onde a resposta HTTP é enviada. Para a produção, especifique o endpoint de autenticação do seu aplicativo, esse endpoint lida com respostas do servidor OAuth 2.0. Para mais informações, consulte Como usar o OAuth 2.0 para aplicativos de servidor da Web.
Resposta HTTP
Quando o aplicativo usa o URL para solicitar autorização, o token de acesso é retornado em uma resposta, por exemplo:
https://www.google.com/#access_token=[MY_ACCESS_TOKEN]&
token_type=Bearer&
expires_in=3600
Em que [MY_ACCESS_TOKEN]
é o token de acesso retornado que você solicitou.
Depois de receber um token de acesso, será possível usá-lo para acessar a API Admin. Por exemplo, o endpoint de autenticação do seu aplicativo pode extrair programaticamente o token de acesso da resposta. Confira o exemplo a seguir para saber como usar manualmente seu token em um comando cURL.
Exemplo de solicitação HTTP usando cURL
O comando cURL a seguir demonstra como usar o token de acesso [MY_ACCESS_TOKEN]
para fazer uma solicitação HTTP POST
. Esse comando cURL implanta
os recursos definidos no arquivo de configuração app.json
na versão
v1
do serviço default
no aplicativo do projeto MY_PROJECT_ID
.
curl -X POST -T "app.json" -H "Content-Type: application/json" -H "Authorization: Bearer [MY_ACCESS_TOKEN]" https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]/services/default/versions