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 di chiamata.
  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.