Итак, я копаюсь в «бессерверной» архитектуре, и после прохождения руководство об angular в качестве фронтенда и лямбда-выражений nodejs, доступных через API, я не уверен, что это вообще безопасно. Веб-сайт angular, который я сделал, выполняет вызовы AWS api, который связан с лямбда-функцией. Поскольку это угловой формат и он виден клиентскому браузеру, важные секретные ключи, такие как - AWSCognito.config.update ({accessKeyId: 'something', secretAccessKey: 'something'}); можно увидеть.
При создании этих ключей AWS позволяет вам увидеть их один раз, а затем скрывает secretAccessKey, поэтому я думаю, не совсем разумно оставлять его в файле js? Я все еще изучаю основы AWS, поэтому дайте мне знать, что вы думаете и какое решение является лучшим, спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Because it is javascript and it is all visible to the client
Это неправда.
JavaScript - это язык программирования.
Код JavaScript, который вы отправляете в браузер для запуска в браузере, виден владельцу браузера. Похоже, вы путаете это со «Весь JavaScript».
Код JavaScript, который вы отправляете в AWS для запуска на AWS, не виден владельцу браузера.
Правильно, плохо. В этом конкретном примере я говорю о привязке к ним лямбда-выражений и API nodejs, которые используются веб-сайтом angular. Чтобы выполнять вызовы api, вам необходимо передать секретный ключ aws, и в настоящее время я делаю это в файле angular js, работающем в клиентском браузере.
@ user3873146 - вам следует использовать AWS API Gateway в качестве интерфейса для вашей Lambda и настроить API Gateway так, чтобы ему не требовалось получать ключ API.
@Quentin, спасибо за это предложение, но есть ли способ предотвратить грубое принуждение к отправке запроса на публикацию? Это простой вызов http post, который сохраняет электронные письма подписчика в Dynamodb с использованием лямбда.
Также, для дальнейшего чтения: выполните поиск по «серверному JavaScript» и «NodeJS».