Реализация CSRF защиты для форм с вводом персональных данных
я пишу API, для получения доступа к которому необходимо пройти регистрацию и вход, после чего на главной странице будет токен доступа к API, с помощью которого пользователь уже сможет осуществлять запросы.
Так вот мне необходимо, чтобы все формы, в которые осуществляется ввод персональных данных были оснащены csrf защитой, если бы я реализовывал регистрацию и вход посредствам JWT такой вопрос бы и не возник.
Подскажите мне, пожалуйста, каким образом правильнее поступить? Делать CSRF защиту на стороне backend'a или frontend'а? Потому что валидацию данных я планирую сделать на стороне frontend'a(сравнение паролей, проверка наличия заглавных букв, цифр и т.д) посредствам JS(не спешите кричать, я буду блокировать контент на страницах с введением данных в случае, если юзер отключил Джаваскрипт).
И как вообще работает CSRF? У меня есть библиотека PYJwt в проекте, которую я использую как раз для того, чтобы сгенерировать токен для сессии cookie и для API токена, подойдет ли она для того, чтобы сгенерировать токен CSRF?