Советы действительны для защиты любого веб-приложения
Если вы хотите защитить свое приложение, , тогда вам определенно следует начать использовать HTTPS вместо HTTP , это обеспечивает создание безопасного канала между вами и пользователями, что предотвратит прослушивание данные, отправляемые назад и вперед пользователям, помогут сохранить конфиденциальность обмена данными.
Вы можете использовать JWT (JSON Web Tokens) для защиты API RESTful , это имеет много преимуществ по сравнению с сеансами на стороне сервера, преимущества в основном:
1 - Более масштабируемый, так как ваши серверы API не должны будут поддерживать сеансы для каждого пользователя (что может быть большим бременем, когда у вас много сеансов)
2 - JWT являются самодостаточными и имеют утверждения, которые, например, определяют роль пользователя, доступ к которому он может получить, а также дату и дату истечения срока действия (после чего JWT не будет действительным)
3 - Проще обрабатывать балансировщики нагрузки, и если у вас есть несколько серверов API, поскольку вам не нужно обмениваться данными сеанса или настраивать сервер для перенаправления сеанса на один и тот же сервер, когда запрос с JWT попадает на какой-либо сервер. может быть аутентифицирован и авторизован
4- Меньшая нагрузка на вашу БД, а также вам не придется постоянно хранить и извлекать идентификатор сессии и данные для каждого запроса
5 - JWT не могут быть подделаны, если вы используете сильную клавишу для подписи JWT, поэтому вы можете доверять утверждениям в JWT, отправляемом с запросом, без необходимости проверять сеанс пользователя и проверять, является ли он авторизован или нет, вы можете просто проверить JWT, и тогда вы все будете знать, кто и что может делать этот пользователь.
Многие библиотеки предоставляют простые способы создания и проверки JWT на большинстве языков программирования, например: в node.js одним из самых популярных является jsonwebtoken
Поскольку REST API, как правило, стремятся сохранить сервер без сохранения состояния, JWT более совместимы с этой концепцией , поскольку каждый запрос отправляется с токеном авторизации, который является автономным (JWT) без сервер должен отслеживать сеанс пользователя по сравнению с сеансами, которые делают сервер настроенным так, чтобы он запоминал пользователя и его роль, однако сеансы также широко используются и имеют свои плюсы, которые вы можете искать, если хотите.
Важно отметить, что вам необходимо безопасно доставить JWT клиенту, используя HTTPS, и сохранить его в безопасном месте (например, в локальном хранилище).
Подробнее о JWT можно узнать по этой ссылке