Accesso all'API Admin

Prima che gli utenti o le applicazioni possano utilizzare l'API App Engine Admin, in qualità di proprietario del progetto Google Cloud devi abilitare l'API nel tuo progetto e poi creare le credenziali che utenti o applicazioni possono utilizzare per autorizzare le richieste HTTP.

Ad esempio, un proprietario deve prima creare un progetto Google Cloud iniziale e poi creare le credenziali al suo interno prima che chiunque possa inviare richieste HTTP all'API Admin. Dopo che il proprietario ha impostato e configurato il progetto iniziale, questo può essere utilizzato per scopi amministrativi per creare e gestire altre risorse in modo programmatico, ad esempio:

  • Creazione di altri progetti Google Cloud.
  • Creazione di applicazioni App Engine per tutti i progetti appena creati.
  • Deployment delle versioni dell'app nelle applicazioni App Engine appena create.
  • Gestione delle risorse in tutte le versioni di cui hai eseguito il deployment.

Prima di iniziare

Per completare l'attività seguente, devi essere un proprietario del progetto Google Cloud in cui vuoi abilitare l'API Admin per l'accesso di utenti e applicazioni.

Configurazione del progetto e creazione di credenziali

Per configurare il tuo progetto Google Cloud e creare le credenziali:

  1. Abilita sia l'API App Engine Admin sia l'API Cloud Storage nel tuo progetto Google Cloud:

    Abilita entrambe le API

  2. Crea le credenziali utilizzate da utenti e applicazioni per accedere all'API Admin nel tuo progetto.

    Per creare le credenziali, consulta la Guida all'autenticazione per la piattaforma Google Cloud, quindi scegli il flusso di autorizzazione OAuth 2.0 che soddisfi i requisiti dell'app.

Esempi

Per dimostrare un flusso di autenticazione, negli esempi riportati di seguito viene utilizzato il flusso OAuth 2.0 lato client per ottenere un token. Il token viene utilizzato per autorizzare le richieste all'API Admin utilizzando lo strumento a riga di comando cURL per eseguire il deployment dell'app di esempio nell'applicazione App Engine del progetto [MY_PROJECT_ID].

Esempio di autenticazione

In questo esempio, il flusso di autorizzazione lato client, noto come flusso di concessione implicita, richiede all'utente di autorizzare l'applicazione client ad accedere all'API Admin per conto dell'utente. Il token di accesso restituito è valido per circa 60 minuti o in generale mentre l'utente è attivo nell'applicazione.

Richiesta HTTP

Il seguente URL utilizza un ID client creato nella console Google Cloud per richiedere un token di accesso, per poi reindirizzare l'utente a un URI autorizzato in cui la tua app riceve il 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]

Dove:

  • [MY_CLIENT_ID] è un ID client di una delle tue credenziali nella console Google Cloud.
  • [MY_REDIRECT_URI] sono gli URI di reindirizzamento autorizzati corrispondenti della stessa credenziale nella console Google Cloud. Se non viene specificato alcun URI di reindirizzamento, devi specificare un URI attendibile, ad esempio https://www.google.com. L'URI di reindirizzamento definisce dove viene inviata la risposta HTTP. Per la produzione, devi specificare l'endpoint di autenticazione dell'applicazione, che gestisce le risposte dal server OAuth 2.0. Per ulteriori informazioni, consulta l'articolo sull'utilizzo di OAuth 2.0 per applicazioni server web.

risposta HTTP

Quando l'applicazione utilizza l'URL per richiedere l'autorizzazione, il token di accesso viene restituito in una risposta, ad esempio:

https://www.google.com/#access_token=[MY_ACCESS_TOKEN]&
  token_type=Bearer&
  expires_in=3600

Dove [MY_ACCESS_TOKEN] è il token di accesso restituito che hai richiesto.

Dopo aver ottenuto un token di accesso, puoi utilizzarlo per accedere all'API Admin. Ad esempio, l'endpoint di autenticazione dell'applicazione può estrarre in modo programmatico il token di accesso dalla risposta. Vedi l'esempio seguente per come utilizzare manualmente il token in un comando cURL.

Esempio di richiesta HTTP mediante cURL

Il seguente comando cURL mostra come utilizzare il token di accesso [MY_ACCESS_TOKEN] per effettuare una richiesta POST HTTP. Questo comando cURL esegue il deployment delle risorse definite nel file di configurazione app.json nella versione v1 del servizio default nell'applicazione del progetto 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

Passaggi successivi