Voltar
CSRF
O CSRF é validado automaticamente em POST, PUT, PATCH e DELETE.
Em formulários HTML
<form method="POST" action="{{ url "criar_post" }}">
{{ csrf_token }}
<input type="text" name="titulo" placeholder="Título">
<button type="submit">Publicar</button>
</form>
O {{ csrf_token }} injeta automaticamente:
<input type="hidden" name="kyrux_csrf_token" value="abc123...">
Em requisições AJAX
O token enviado deve ser o valor assinado — o mesmo que {{ csrf_token }}
injeta no hidden input (o cookie kyrux_csrf guarda o valor bruto, que não
é aceito). Leia do input renderizado na página:
const token = document.querySelector('input[name="kyrux_csrf_token"]').value;
fetch('/api/posts/', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRF-Token': token,
},
body: JSON.stringify({ titulo: 'Meu Post' }),
});
Isentar rotas de API (Bearer token)
APIs autenticadas por JWT (RequireAuth) não usam cookies — isente o prefixo
da validação CSRF no Register do app:
import "kyrux/core/security/csrf"
csrf.Exempt("/api/")