É necessário usar a proteção CSRF quando o aplicativo depende da autenticação sem estado (usando algo como HMAC)?
Exemplo:
Temos um único aplicativo página (caso contrário, temos de acrescentar o token em cada link:
<a href="...?token=xyz">...</a>
.O usuário se autentica usando
POST /auth
. Na autenticação bem-sucedida, o servidor retornará algum token.O token será armazenado via JavaScript em alguma variável dentro do aplicativo de página única.
Este token será usado para acessar URLs restritos como
/admin
.O token sempre será transmitido dentro de cabeçalhos HTTP.
Não há sessão Http e cookies.
Pelo que entendi, não deveria (?!) haver possibilidade de usar ataques entre sites, porque o navegador não armazena o token e, portanto, não pode enviá-lo automaticamente ao servidor (é o que aconteceria ao usar Cookies / Sessão).
Estou esquecendo de algo?