CSRF защита для веб-приложения на основе API - PullRequest
0 голосов
/ 30 сентября 2019

В настоящее время я создаю веб-приложение (и, в конечном счете, гибридное мобильное приложение), которое будет управляться с помощью созданного мной RESTful API. Аутентификация пользователя в API выполняется через веб-токены JSON (которые передаются в заголовке Bearer через HTTPS).

Однако, поскольку авторизация! = Аутентификация, я думал о том, как эффективно уменьшить атаки CSRF на приложение. ,JWT, который возвращается конечной точкой /auth/login API, будет сохранен в файле cookie в домене приложения и использован для последующих запросов AJAX к API.

Поскольку мы используем cookie для хранения токена аутентификации, я считаю, что он открыт для CSRF, даже если все запросы к API из приложения будут выполняться через AJAX (без прямого POST-запроса из форм,и т. д.)

Одно из предложенных мною решений - генерировать токен CSRF с каждым запросом к API и возвращать его с полезной нагрузкой. Этот CSRF будет затем сохранен в приложении (переменная Javascript) и отправлен со следующим запросом, где он будет проверен и авторизован в API. У меня такой вопрос: достаточно ли этого для предотвращения CSRF-атак через Интернет и гибридное мобильное приложение? Или это не нужно?

Мой вопрос отчасти похож на этот , но имеет определенную разницу.

...