Entrée dans un autorisateur Lambda API Gateway - APIPasserelle Amazon

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.

Entrée dans un autorisateur Lambda API Gateway

La section suivante explique le format de l'entrée de API Gateway vers un autorisateur Lambda.

Format d'entrée TOKEN

Pour un autorisateur Lambda (anciennement connu sous le nom d'autorisateur personnalisé) de TOKEN ce type, vous devez spécifier un en-tête personnalisé comme source du jeton lorsque vous configurez l'autorisateur pour votre. API Le API client doit transmettre le jeton d'autorisation requis dans cet en-tête de la demande entrante. Dès réception de la demande de méthode entrante, API Gateway extrait le jeton de l'en-tête personnalisé. Il transmet ensuite le jeton comme authorizationToken propriété de l'eventobjet de la fonction Lambda, en plus de la méthode ARN comme 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. methodArnIl s'agit ARN de la demande de méthode entrante et est renseigné par API Gateway conformément à la configuration de l'autorisateur Lambda.

Format d'entrée REQUEST

Pour un autorisateur Lambda de ce REQUEST type, API Gateway transmet les paramètres de demande à la fonction Lambda de l'autorisateur dans le cadre 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'APIappelant peut définir les paramètres du chemin, les en-têtes et les paramètres de la chaîne de requête. Le API développeur doit définir les variables d'étape lors du API déploiement 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 une entrée dans un REQUEST autorisateur pour une API méthode (GET /request) avec une intégration de 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 $context. Son résultat API dépend du résultat.

APIGateway peut ajouter de nouvelles clés à la carte. Pour de plus amples informations sur l'entrée de la fonction Lambda dans l'intégration de proxy Lambda, veuillez consulter Format d'entrée d'une fonction Lambda pour l'intégration proxy.