Lambda@edge функционирует в другой среде - PullRequest
0 голосов
/ 24 апреля 2020

У нас есть веб-платформа, состоящая из различных проектов:

  • Front-End: ASP. NET Core
  • Back-End: SPA (реагирует на состояние c)
  • Identity Server: Контроль доступа (ASP. NET Core)

В тестовой среде мы используем наши собственные серверы с NGINX и для производственной среды мы используем AWS (облачный фронт, loadbalancer, ec2, et c). В обеих средах клиентская часть и серверная часть находятся в одном домене, но сервер идентификации находится в другом поддомене. И, очевидно, в среде разработки localhost все работают на разных портах.

Из соображений безопасности, поскольку входят только клиенты, и это не приложение, которое может зарегистрировать кто-либо, мы хотим скрыть SPA только для пользователей, аутентифицированных по идентификатору. сервер. Для этого я пытаюсь реализовать безопасность на основе cook ie, обрабатывая их с помощью lambda@edge (непосредственно в облачной среде). Для этого я следую этому учебнику Amazon: https://aws.amazon.com/es/blogs/networking-and-content-delivery/authorizationedge-using-cookies-protect-your-amazon-cloudfront-content-from-being-downloaded-by-unauthenticated-users/

Идея состоит в том, что приложение SPA вызывает API напрямую, независимо от аутентификации или чего-либо еще, поскольку они обрабатываются с помощью куки-файлы, которые были установлены lambda@edge., что также дает нам преимущество упрощения SPA (мы всегда считаем, что пользователь аутентифицирован, а лямбда-функция отвечает за передачу JWT в API в заголовке).

Но у нас есть некоторые сомнения:

  1. Как вы можете обрабатывать те же логики c, что и лямбда-функции в среде разработки? Есть ли способ сделать промежуточное программное обеспечение в «create-реагировать-приложение», когда я запускаю локальный, который вызывает лямбда-код?
  2. Как вы можете обрабатывать те же логи c, что и лямбда-функции в тестовой среде (NGINX)? Есть ли способ сделать промежуточное программное обеспечение в NGINX, когда я запускаю local, который вызывает лямбда-код?
  3. Если нет способа, нужно ли мне использовать «прокси-сервис» для локальной и тестовой сред ?

Примечание. Я хочу, чтобы все программисты не устанавливали aws -sam, просто для обработки этих файлов cookie сеанса. И это не будет работать для наших тестовых серверов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...