Передача переменных в веб-приложение s3 через лямбду, вызываемую шлюзом API
По сути, у меня есть приложение, которое должно аутентифицировать некоторые переменные Post (потребительские переменные LTI). Поэтому я думаю, что я использую лямбду для аутентификации и обслуживания приложения в s3 с некоторыми переменными. например -
LTI Consumer использует POST для вызова -> https://mycoolapp.com/ -> API Gateway -> Lambda (для проверки подлинности переменных записи) -> вызывает приложение s3 (в случае успеха вместе с некоторыми переменными, такими как userID и т. Д.)
Это правильный подход, если да, то как мне это настроить?
1 ответ
Если я не ошибаюсь, ваш подход, безусловно, осуществим, но технически это больше не будет веб-приложением S3.
В Amazon S3 есть определенная функция, называемая статическим веб-хостом, которая при его активации AWS автоматически создает веб-сервер, обслуживающий файлы в вашем s3. Если у вас есть статические файлы, которые могут быть приложениями (например, html как веб-страница), то это веб-приложение S3
Используя ваш подход, вы создаете API-шлюз, который интегрируется с Lambda, затем вы можете делать с Lambda все, что угодно, в том числе выполнять аутентификацию, получать приложение, которое вы храните на s3, через s3 api и передавать его обратно клиенту. Обратите внимание, что теперь обслуживающий Интернет будет лямбда, а не s3, так что технически это лямбда-сервер с файлами, хранящимися на S3:)
Подробнее об аутентификации, у шлюза API есть собственный настраиваемый авторизатор, если вы хотите использовать его для аутентификации. С помощью специального авторизатора вы можете повторно использовать логику авторизации и аутентификации для других конечных точек