Недавно мы добавили поддержку для этого. Документы должны скоро появиться.
Теперь вы можете вернуть такой объект из функции авторизатора:
{
"principalId": "xxxxxxxx", // The principal user identification associated with the token send by the client.
"policyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Action": "execute-api:Invoke",
"Effect": "Allow|Deny",
"Resource": "arn:aws:execute-api:<regionId>:<accountId>:<appId>/<stage>/<httpVerb>/[<resource>/<httpVerb>/[...]]"
}
]
},
"context" : {
"key" : "value",
"numKey" : 1,
"boolKey" : true
}
}
Массивы и объекты не допускаются, только строка/число/логическое значение как допустимый JSON. Корневой ключ должен называться context
.
Вы можете получить доступ к этим значениям в контексте запроса $context следующим образом:
$context.authorizer.key -> value
$context.authorizer.numKey -> 1
$context.authorizer.boolKey -> true
Итак, чтобы ответить на ваш вопрос, вы не сможете условно добавить заголовок, но вы можете установить значение заголовка $context.authorizer.yourKey
, и если yourKey
не установлено в авторизаторе ответ, значение заголовка будет пустым (но заголовок все равно будет отправлен).
Изменить:
Документы доступны http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-lambda-authorizer-output.html
person
jackko
schedule
17.11.2016