Как правильно обрабатывать операции API, защищенные ключами, с помощью интерфейса React? - PullRequest
0 голосов
/ 13 июля 2020

Я столкнулся с этой проблемой, учитывая тот факт, что моему приложению реакции нужны ключи API для доступа к бэкэнду, который он использует для операций CRUD в защищенной базе данных:

https://create-react-app.dev/docs/adding-custom-environment-variables/

WARNING: Do not store any secrets (such as private API keys) in your React app!

Я хочу, чтобы пользователи, прошедшие аутентификацию в приложении, могли выполнять эти операции без обязательного предоставления ключей API конечному пользователю.

Общий консенсус кажется чтобы создать промежуточный уровень, ie сервер express, который правильно обрабатывает обогащение / пересылку запроса. Но в этот момент такая же проблема возникает, если я хочу аутентифицировать веб-приложение на промежуточном уровне, в результате чего так или иначе открывается исходный защищенный бэкэнд API.

Есть ли способ гарантировать «рукопожатие» между клиентским приложением и исходной защищенной серверной частью? Если для этого мне нужен доступ к базе кода, могу ли я сделать это через средний уровень

1 Ответ

1 голос
/ 13 июля 2020

Вы должны отключить CORS на вашем express сервере. Это означает, что кроме вашего внешнего интерфейса, никакой другой клиент не может отправлять запросы на ваш Express сервер. И затем, хотя ваша авторизация для вашего express сервера открыта, но это не поможет, если только запрос не поступит от вашего внешнего приложения.

...