У нас есть веб-платформа, состоящая из различных проектов:
- 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 в заголовке).
Но у нас есть некоторые сомнения:
- Как вы можете обрабатывать те же логики c, что и лямбда-функции в среде разработки? Есть ли способ сделать промежуточное программное обеспечение в «create-реагировать-приложение», когда я запускаю локальный, который вызывает лямбда-код?
- Как вы можете обрабатывать те же логи c, что и лямбда-функции в тестовой среде (NGINX)? Есть ли способ сделать промежуточное программное обеспечение в NGINX, когда я запускаю local, который вызывает лямбда-код?
- Если нет способа, нужно ли мне использовать «прокси-сервис» для локальной и тестовой сред ?
Примечание. Я хочу, чтобы все программисты не устанавливали aws -sam, просто для обработки этих файлов cookie сеанса. И это не будет работать для наших тестовых серверов.