Необходимо ли использовать защиту CSRF, когда приложение использует аутентификацию без сохранения состояния (используя что-то вроде HMAC)?
Пример:
У нас есть одностраничное приложение (в противном случае мы должны добавлять токен к каждой ссылке:
<a href="...?token=xyz">...</a>
.Пользователь аутентифицирует себя с помощью
POST /auth
. При успешной аутентификации сервер вернет некоторый токен.Токен будет храниться через JavaScript в некоторой переменной внутри одностраничного приложения.
Этот токен будет использоваться для доступа к URL с ограниченным доступом, например
/admin
.Токен всегда будет передаваться внутри заголовков HTTP.
НЕТ Http-сессии и НЕТ файлов cookie.
Насколько я понимаю, не должно (?!) быть возможности использовать межсайтовые атаки, потому что браузер не будет хранить токен, и, следовательно, он не может автоматически отправить его на сервер (это то, что произойдет при использовании файлов cookie / Сессия).
Я что-то упускаю?