Взаимодействовать с интерфейсом REST API в качестве бэкэнд, авторизацией JWT, но как обрабатывать сеанс? Например, после входа в систему я получаю токен JWT от REST, если я сохраню его в localStorage, я уязвим для XSS, если я сохраню его в файлах cookie, те же проблемы, только если не задавать HttpOnly, но реагировать не могут читать HttpOnly Cookies (мне нужно прочитать cookie, чтобы взять jwt из него, и использовать этот jwt с запросами на отдых), также я не упоминал проблему CSRF, если вы используете REST в качестве backend, вы не можете использовать токен CSRF.
В результате React with REST кажется плохим решением, и мне нужно переосмыслить мою архитектуру, как быть? Можно ли предлагать пользователям безопасное реагировать на приложения, что все бизнес-логики обрабатываются на стороне REST API, не опасаясь потерять свои данные?
Update:
Насколько я понял, есть возможность сделать это:
- React делает вызов AJAX API REST
- React получает токен JWT от REST
- React пишет httponly cookie
- Поскольку реакция не может читать httponly cookie, мы используем ее как есть в нашем вызове REST, где нам нужна аутентификация.
- REST on calls проверяет заголовок XMLHttpRequest, что-то вроде защиты CSRF.
- Сторона проверки REST для cookie, прочитайте JWT и сделайте что-нибудь.
У меня нет теоретических знаний здесь, но выглядит логично и довольно безопасно, но мне все еще нужен ответ на мои вопросы и одобрение этого "рабочего процесса".