Configurer AngularJS pour utiliser le Token Django CSRF

15 octobre 2016
Aymeric

Lorsque vous souhaitez utiliser un peu d'AngularJS dans votre projet Django pour dynamiser votre application, vous risquez d'avoir un petit soucis avec CSRF.

La protection CSRF

Django utilise un système de Token pour protéger votre application de la vulnérabilité CSRF.
Lorsque vous allez faire une requête via AngularJS ( $http.post() par exemple), celle-ci se fera sans que le Token soit utilisé, provoquant une erreur 503 sur l'app Django.

La configuration

Il faut donc configurer AngularJS pour qu'il récupère le Token et l'ajoute aux headers des requêtes qu'il effectue :

  app.config(['$httpProvider', function($httpProvider) {
      $httpProvider.defaults.xsrfCookieName = 'csrftoken';
      $httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
  }]);

Et voilà, votre application fonctionnera ;)

Articles récents

Catégories

Tags