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 prima attivare l'API nel progetto e poi creare le credenziali che gli utenti o le 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 in quel progetto prima che chiunque possa inviare richieste HTTP all'API Admin. Dopo che il proprietario ha configurato il progetto iniziale, questo può essere utilizzato a fini amministrativi per creare e gestire in modo programmatico altre risorse, ad esempio:

  • Creazione di altri progetti Google Cloud.
  • Creazione di applicazioni App Engine per tutti i progetti appena creati.
  • Eseguire il 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 la seguente attività, 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 delle credenziali

Per configurare il 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 della piattaforma Google Cloud e poi scegli il flusso di autorizzazione OAuth 2.0 che soddisfa i requisiti della tua app.

Esempi

Per dimostrare un flusso di autenticazione, gli esempi riportati di seguito utilizzano 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 per l'accesso all'API Admin per suo conto. Il token di accesso restituito è valido per circa 60 minuti o, in genere, finché l'utente è attivo nella tua applicazione.

Richiesta HTTP

Il seguente URL utilizza un ID client creato nella console Google Cloud per richiedere un token di accesso e 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] è 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 del 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.

Una volta 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. Consulta l'esempio seguente per scoprire come utilizzare manualmente il token in un comando cURL.

Esempio di richiesta HTTP con 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