#reactjs #authentication #web-applications
#reactjs #аутентификация #веб-приложения
Вопрос:
Если у вас есть веб-приложение с интерфейсом (react), взаимодействующим с REST API, каков наилучший способ ограничить доступ к представлениям?
Допустим, вы не создаете одностраничное приложение, у вас есть несколько серверных маршрутов, все из которых предоставляют интерфейс react. Все эти маршруты должны быть защищены с помощью аутентификации, поэтому, по сути, даже (не чувствительный) интерфейс react не должен доставляться клиенту. Вы обрабатываете это во внешнем интерфейсе на каждой странице? Или это означает, что я, возможно, использую неправильный инструмент? Если вы выполняете вход в сеанс на стороне сервера, вам придется обрабатывать аутентификацию и, следовательно, особенно уровень сущности в двух местах (ограничивая доступ к представлениям и API). Я думаю, вы можете распространить логин веб-сервера на API или наоборот, но я действительно не уверен, как лучше всего поступить здесь.
Я действительно надеюсь, что вопрос не будет рассматриваться как «субъективный».
Комментарии:
1. Я думаю, что если вы используете столько логики аутентификации на серверной части , которая обслуживает интерфейс только для аутентифицированных пользователей, тогда интерфейсу меньше нужно беспокоиться об аутентификации .
2. @DJYadav Значит ли это, что вы будете обрабатывать аутентификацию в двух местах (вход в сеанс веб-сервера для обслуживания интерфейса и вход в API для интерфейса для извлечения данных)?
3. Аутентификация будет обрабатываться только на серверной части. Интерфейс сохранит токен аутентификации в браузере, который он получил во время входа в систему из серверной части. Затем он будет отправлять этот токен обратно в серверную часть при каждом запросе.
4. Кроме того, только для веб-сайтов simole это обрабатывается автоматически внутренним сервером.
5. @DJYadav я понимаю, как работает аутентификация с помощью REST API, мой вопрос заключается в том, как обрабатывать не только аутентификацию с помощью API, но и сервер веб-приложений (обслуживающий интерфейс). Я не хочу хранить уровень сущности (например, пользовательскую сущность и т.д.) В двух местах для аутентификации. Потому что я также хочу обеспечить доступ к самому интерфейсу (файлам).