Как вернуть ответ 401 в AWS API Gateway Lambda Authorizer?Python

Программы на Python
Ответить
Anonymous
 Как вернуть ответ 401 в AWS API Gateway Lambda Authorizer?

Сообщение Anonymous »

Я использую специальный Lambda Authorizer, написанный на Python, для веб-сокета шлюза API. Как мне вернуть ответ 401 Unauthorized?
Документация довольно расплывчата и содержит только пример node.js:

Код: Выделить всё

exports.handler =  function(event, context, callback) {
var token = event.authorizationToken;
switch (token) {
case 'allow':
callback(null, generatePolicy('user', 'Allow', event.methodArn));
break;
case 'deny':
callback(null, generatePolicy('user', 'Deny', event.methodArn));
break;
case 'unauthorized':
callback("Unauthorized");   // Return a 401 Unauthorized response
break;
default:
callback("Error: Invalid token"); // Return a 500 Invalid token response
}
};
В качестве альтернативы он позволяет возвращать явную политику Deny IAM:

Если значение токена равно «deny», функция авторизатора возвращает HTTP-ответ 403 Forbidden и политику Deny IAM, которая выглядит следующим образом, и запрос метода завершается неудачно:

Код: Выделить всё

{
"Version": "2012-10-17",
"Statement": [
{
"Action": "execute-api:Invoke",
"Effect": "Deny",
"Resource": "arn:aws:execute-api:us-east-1:123456789012:ivdtdhp7b5/ESTestInvoke-stage/GET/"
}
]
}
Что, если я хочу ответить кодом 401 «Не авторизовано»? Что эквивалентно callback("Unauthorized") в обработчике Python Lambda?


Подробнее здесь: https://stackoverflow.com/questions/719 ... authorizer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»