Безопасное веб-приложение с Django и React

Я экспериментирую с этими двумя технологиями, чтобы сделать безопасное веб-приложение [В настоящее время изучаю React (60%) и Django (<50%). Это должно быть похоже на медицинскую базу данных, чтобы врачи и медсестры вводили информацию о своих пациентах. Естественно, им нужно войти в систему. Я хотел реализовать пользовательский интерфейс на основе React (а не использовать классический метод создания представлений из django), поэтому я нашел много руководств, подобных этому:

https://www.digitalocean.com/community/tutorials/build-a-to-do-application-using-django-and-react

По сути, это превращает Django в restAPI, а затем фронтенд React использует axios для получения данных из конечной точки. Звучит неплохо (по сравнению с родным методом рендеринга данных на веб-странице из Django), но проблема в том, что я понятия не имею, как сделать это безопасным, вы знаете, Django предоставляет систему аутентификации, которая довольно хороша и безопасна, я должен сказать, но в проекте с такой структурой, аутентификация должна быть сделана в React, поэтому возникает много вопросов:

  • Для начала, хорошая ли идея делать проект такой структуры? (Если нет, то что может быть хорошим вариантом)
  • Если "да", то как я могу защитить API, чтобы только зарегистрированные пользователи могли взаимодействовать с ним? (Какие механизмы для обеспечения защиты)

Да, это абсолютно правильная идея - разделить клиентское приложение и серверное приложение бэкенда.

  • Вы можете получить доступ к бэкенду через rest api практически с любым фронтенд-фреймворком/приложением/скриптом.
  • Покупатели могут расширить свои собственные приложения с помощью возможностями вашего бэкенд-сервиса.
  • Вы можете создать несколько различных фронтендов, которые используют один и тот же бэкенд или различные части одного и того же бэкенда через rest api (мультибрендинг, перепродажа). Или вы можете просто менять фреймворк фронтенда каждый каждый второй год на новый.
  • Также проще создавать различные автоматизации, используя rest api.

И список продолжается.

Для django rest api auth я бы рекомендовал Token Authentication, который уже включен в Django REST Framework, а для React используйте this tutorial для реализации входа и работы с токенами.

Не забудьте использовать TLS на ваших серверах и создать документацию по API. (Пример)

Вернуться на верх