Accesso all'API Admin

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

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 impostato e configurato progetto iniziale, quest'ultimo 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 di versioni dell'app in 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 attivare l'API Admin per consentire l'accesso a 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 l'API Admin utilizzando lo strumento a riga di comando cURL per eseguire il deployment dell'esempio all'applicazione App Engine del progetto [MY_PROJECT_ID].

Esempio di autenticazione

In questo esempio, il flusso di autorizzazione lato client noto come concessione implicita , richiede all'utente di autorizzare l'applicazione client per l'accesso API Admin per conto dell'utente. 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 in Console Google Cloud:
  • [MY_REDIRECT_URI] è gli URI di reindirizzamento autorizzati corrispondenti del le stesse credenziali nella console Google Cloud. Se non viene specificato alcun URI di reindirizzamento, dovrai 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.

Dopo aver ottenuto un token di accesso, puoi utilizzarlo per accedere al l'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