

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Données d’entrée d’un mécanisme d’autorisation Lambda API Gateway
<a name="api-gateway-lambda-authorizer-input"></a>

La section suivante explique le format de l’entrée envoyée par API Gateway à un mécanisme d’autorisation Lambda.

## Format d'entrée `TOKEN`
<a name="w2aac15b9c23c25c19b5"></a>

 Pour un mécanisme d’autorisation Lambda (anciennement appelé Custom Authorizer) de type `TOKEN`, vous devez spécifier un en-tête personnalisé comme **Token Source** (Source de jeton) lorsque vous configurez le mécanisme d’autorisation de votre API. Le client de l’API doit transmettre le jeton d’autorisation requis dans l’en-tête de la demande entrante. À réception de la demande de méthode entrante, API Gateway extrait le jeton à partir de l’en-tête personnalisé. Il transmet ensuite le jeton en tant que propriété `authorizationToken` de l’objet `event` de la fonction Lambda, en plus de l’ARN de méthode via la propriété `methodArn` : 

```
{
    "type":"TOKEN",
    "authorizationToken":"{caller-supplied-token}",
    "methodArn":"arn:aws:execute-api:{regionId}:{accountId}:{apiId}/{stage}/{httpVerb}/[{resource}/[{child-resources}]]"
}
```

 Dans cet exemple, la propriété `type` spécifie le type de mécanisme d’autorisation, à savoir `TOKEN`. La valeur `{caller-supplied-token}` provient de l’en-tête d’autorisation d’une demande client et peut correspondre à n’importe quelle valeur de chaîne. La propriété `methodArn` est l’ARN de la demande de méthode entrante et elle est renseignée par API Gateway conformément à la configuration du mécanisme d’autorisation Lambda. 

## Format d'entrée `REQUEST`
<a name="w2aac15b9c23c25c19b7"></a>

Pour un mécanisme d’autorisation Lambda de type `REQUEST`, API Gateway transmet les paramètres de demande à la fonction Lambda du mécanisme d’autorisation de l’objet `event`. Les paramètres de demande comprennent les en-têtes, les paramètres des chemins, les paramètres des chaînes d’interrogation, les variables d’étape et certaines variables de contexte de demande. L’appelant de l’API peut définir les paramètres des chemins, les en-têtes et les paramètres des chaînes d’interrogation. Le développeur de l’API doit définir les variables d’étape pendant le déploiement de l’API, et API Gateway fournit le contexte de la demande au moment de l’exécution. 

**Note**  
Les paramètres de chemin peuvent être transmis comme paramètres de la demande à la fonction du mécanisme d’autorisation Lambda, mais ils ne peuvent pas être utilisés comme sources d’identité.

 L’exemple suivant montre les données d’entrée pour un mécanisme d’autorisation `REQUEST` et une méthode d’API (`GET /request`) avec une intégration proxy : 

```
{
  "type": "REQUEST",
  "methodArn": "arn:aws:execute-api:us-east-1:123456789012:abcdef123/test/GET/request",
  "resource": "/request",
  "path": "/request",
  "httpMethod": "GET",
  "headers": {
    "X-AMZ-Date": "20170718T062915Z",
    "Accept": "*/*",
    "HeaderAuth1": "headerValue1",
    "CloudFront-Viewer-Country": "US",
    "CloudFront-Forwarded-Proto": "https",
    "CloudFront-Is-Tablet-Viewer": "false",
    "CloudFront-Is-Mobile-Viewer": "false",
    "User-Agent": "..."
  },
  "queryStringParameters": {
    "QueryString1": "queryValue1"
  },
  "pathParameters": {},
  "stageVariables": {
    "StageVar1": "stageValue1"
  },
  "requestContext": {
    "path": "/request",
    "accountId": "123456789012",
    "resourceId": "05c7jb",
    "stage": "test",
    "requestId": "...",
    "identity": {
      "apiKey": "...",
      "sourceIp": "...",
      "clientCert": {
        "clientCertPem": "CERT_CONTENT",
        "subjectDN": "www.example.com",
        "issuerDN": "Example issuer",
        "serialNumber": "a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1",
        "validity": {
          "notBefore": "May 28 12:30:02 2019 GMT",
          "notAfter": "Aug  5 09:36:04 2021 GMT"
        }
      }
    },
    "resourcePath": "/request",
    "httpMethod": "GET",
    "apiId": "abcdef123"
  }
}
```

 Le contexte `requestContext` est un mappage de paires clé-valeur et correspond à la variable [\$1context](api-gateway-mapping-template-reference.md#context-variable-reference). Son résultat est dépendant de l’API.

 API Gateway peut ajouter de nouvelles clés au mappage. Pour plus d’informations sur l’entrée de la fonction Lambda dans l’intégration de proxy Lambda, consultez [Format d’entrée d’une fonction Lambda pour l’intégration de proxy](set-up-lambda-proxy-integrations.md#api-gateway-simple-proxy-for-lambda-input-format). 