Как безопасно подтвердить личность SPA с вашим прокси-сервером? - PullRequest
1 голос
/ 18 февраля 2020

У меня есть приложение React, которое должно взаимодействовать с несколькими AWS службами, каждая из которых требует секретных ключей, и я знаю, что не стоит жестко их кодировать в JS.

. Я нашел это: Как скрыть ключ API в create-реагировать-приложение?

Что в основном подтверждает следующее: * Не храните истинные секреты в ваших JS * Не используйте также файлы env, потому что они добавляются к JS во время компиляции. * Используйте серверный код для работы с секретными межсерверными коммуникациями, т.е. используйте прокси

Но теперь у меня вопрос прояснения этого или "следующего шага". Мой прокси-сервер теперь обрабатывает все частные сообщения с AWS. Тем не менее, как я могу подтвердить личность моего приложения на сервере? Другими словами, если открыть прокси, у любого будет доступ к моему AWS контенту. Однако мои настоящие пользователи не имеют права доступа к моим внешним службам напрямую, поэтому я не могу просто пройти через эти учетные данные.

Моя идея состоит в том, чтобы установить идентификатор приложения, который будет перенаправлять только на связанный URL-адрес, но достаточно ли это безопасно? Идентификатор приложения указан в JS, но идентификатор позволит прокси-серверу отправлять информацию обратно на URL-адрес записи.

Спасибо, Уэйн

1 Ответ

0 голосов
/ 20 февраля 2020

Я думаю, что вам лучше всего использовать AWS Cognito.

Пользователи авторизуются с ним, получают токен, к которому могут быть прикреплены права доступа IAM, если вы этого хотите

...