Autentica con una cuenta de servicio

Requisitos previos

En esta página, se supone que ya:

Cómo configurar la autenticación

Para autenticar con una cuenta de servicio, sigue estos pasos:

  1. Importa la API de App Engine para Cloud Endpoints en tu clase de API:

    import endpoints
    
  2. Agrega un objeto de emisor para la cuenta de servicio al decorador de API. Por ejemplo:

    @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']})
    
    • Reemplaza echo por el nombre de tu API.
    • Reemplaza v1 por tu versión de API.
    • Reemplaza YOUR_SERVICE_ACCOUNT_EMAIL por el correo electrónico de tu cuenta de servicio.
    • Reemplaza YOUR_AUDIENCE por el valor en el campo aud que se envía en el servicio en el que se realiza la llamada.
  3. En cada método de API donde quieras verificar la autenticación correcta, comprueba si hay un User válido y señala un error 401 si no hay ninguno, como se muestra en esta definición del método de muestra:

    user = endpoints.get_current_user()
    # If there's no user defined, the request was unauthenticated, so we
    # raise 401 Unauthorized.
    
  4. Implementa la API. Tienes que volver a implementar la API cada vez que agregues clientes nuevos.