Autenticazione con un account di servizio

Prerequisiti

Questa pagina presuppone che tu abbia già:

Configurazione dell'autenticazione

Per autenticarti con un account di servizio:

  1. Importa l'API App Engine Endpoints nella classe API:

    import endpoints
    
  2. Aggiungi un oggetto issuer per l'account di servizio al decoratore API. Ad esempio:

    @endpoints.api(
        name='echo',
        version='v1',
        issuers={'serviceAccount': endpoints.Issuer(
            'YOUR_SERVICE_ACCOUNT_EMAIL',
            'https://www.googleapis.com/robot/v1/metadata/x509/YOUR_SERVICE_ACCOUNT_EMAIL')},
        audiences={'serviceAccount': ['YOUR_AUDIENCE']})
    
    • Sostituisci echo con il nome della tua API.
    • Sostituisci v1 con la versione dell'API.
    • Sostituisci YOUR_SERVICE_ACCOUNT_EMAIL con l'indirizzo email del tuo account di servizio.
    • Sostituisci YOUR_AUDIENCE con il valore nel campo aud inviato dal servizio chiamante.
  3. In ogni metodo API in cui vuoi verificare l'autenticazione corretta, controlla la presenza di un valore User valido e genera l'errore 401 se non è presente, come mostrato in questa definizione di metodo di esempio:

    user = endpoints.get_current_user()
    # If there's no user defined, the request was unauthenticated, so we
    # raise 401 Unauthorized.
    
  4. Distribuisci l'API . Devi eseguire nuovamente il deployment dell'API ogni volta che aggiungi nuovi client.