Assurer l'authentification via un compte de service

Prérequis

Cette page suppose que vous avez déjà :

Configurer l'authentification

Pour vous authentifier avec un compte de service :

  1. Importez l'API App Engine Endpoints dans la classe d'API :

    import endpoints
    
  2. Ajoutez un objet émetteur pour le compte de service au décorateur d'API. Exemple :

    @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']})
    
    • Remplacez echo par le nom de votre API.
    • Remplacez v1 par votre version de l'API.
    • Remplacez YOUR_SERVICE_ACCOUNT_EMAIL par l'adresse e-mail de votre compte de service.
    • Remplacez YOUR_AUDIENCE par la valeur du champ aud envoyé par le service appelant.
  3. Dans chaque méthode API pour laquelle vous souhaitez vérifier que l'authentification est appropriée, recherchez un élément User valide. S'il n'y en a pas, générez une erreur 401, comme indiqué dans cet exemple de définition de méthode :

    user = endpoints.get_current_user()
    # If there's no user defined, the request was unauthenticated, so we
    # raise 401 Unauthorized.
    
  4. Déployez l'API. Vous devez redéployer l'API chaque fois que vous ajoutez des clients.