Como autenticar com uma conta de serviço

Pré-requisitos

Nesta página, presume-se que você já:

Como configurar a autenticação

Para autenticar com uma conta de serviço:

  1. Importe a API do App Engine Endpoints na classe de API:

    import endpoints
    
  2. Adicione um objeto emissor da conta de serviço ao decorador de API. Exemplo:

    @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']})
    
    • Substitua echo pelo nome da API.
    • Substitua v1 pela versão da API.
    • Substitua YOUR_SERVICE_ACCOUNT_EMAIL pelo e-mail da conta de serviço.
    • Substitua YOUR_AUDIENCE pelo valor no campo aud enviado pelo serviço de chamada.
  3. Em cada método de API em que você quer verificar se a autenticação é adequada, confira se há um User válido. Se não houver, como no exemplo de definição de método visto a seguir, gere o erro 401:

    user = endpoints.get_current_user()
    # If there's no user defined, the request was unauthenticated, so we
    # raise 401 Unauthorized.
    
  4. Implante a API e reimplante-a sempre que adicionar novos clientes.