Autenticazione con un account di servizio

Prerequisiti

Questa pagina presuppone che tu abbia già:

Configurazione dell'autenticazione

Per eseguire l'autenticazione con un account di servizio:

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

    import endpoints
    
  2. Aggiungi un oggetto emittente 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 tua 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, verifica la presenza di un valore User valido e, se non è presente, genera un errore 401, come mostrato nella definizione del 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.