Базовая аутентификация AWS с помощью Application Load Balancer - PullRequest
0 голосов
/ 14 февраля 2019

Пару дней назад я спросил Базовая аутентификация AWS lambda без специального авторизатора .Я получил ответ, которого мне было достаточно, я реализовал собственный авторизатор, который работает должным образом.

У меня сейчас очень похожая проблема, потому что мы решили изменить API-шлюз на Application Load Balancer, который будет запускать лямбда-функцию по соответствующему пути.

Я также хотел бы подготовить базовую аутентификацию для этой конечной точки (точно так же, как и раньше).

Итак, та же проблема:

Лямбда-функция AWS, которая являетсяпрокси для дополнительной услуги.Эта функция только перенаправляет весь запрос и дает пользователю полный ответ.Вот почему мне нужно принудительно использовать заголовок Authentication, и я хотел бы иметь окно приглашения для передачи учетных данных: Аутентификация .

Ответ, который должен быть отправлен изЛямбда-функция немного отличается от функции шлюза API: Использование AWS Lambda с балансировщиком нагрузки приложений - AWS Lambda

Об аутентификации с использованием ALB я обнаружил только Аутентификация пользователей с помощью балансировщика нагрузки приложения - эластичная балансировка нагрузки .

Я не могу найти ничего, связанного с базовой аутентификацией и окном приглашения.

Кто-нибудь когда-либо пытался настроить базовыйавторизация с ALB для лямбда-функции?Где искать информацию?

1 Ответ

0 голосов
/ 15 февраля 2019

Чтобы ответить на мой собственный вопрос:
Я начал поиск ответа не в тех местах.Я думал, что это должно быть связано с ALB, но в конце концов, это было не так сложно, как я думал в начале.Он может работать как простая базовая аутентификация .

Итак, достаточно вернуть ответ от асинхронной функции / обработчика, чтобы сделать это самым простым способом:

{
    statusCode: 401,
    statusDescription: "401 Unauthorized",
    isBase64Encoded: false,
    headers: { "content-type": "application/json", "WWW-Authenticate": "Basic" },
    body: "",
};

Конечно, есть возможность вернуть все, что вы хотите в body этого ответа.

...