Support customized CSRF token cookie name (original) (raw)

Checklist

Steps to reproduce

  1. Activate SessionAuthentication for all views, or a single view.
  2. Set CSRF_COOKIE_NAME to a non-default value.
  3. Login.
  4. Navigate to a view secured by SessionAuthentication via the Browseable API.
  5. Attempt to a PATCH/POST/PUT operation.

Expected behavior

The action should be completed successfully.

Actual behavior

The action fails with HTTP status 403, and the message CSRF Failed: CSRF token missing or incorrect..

csrf.js has the cookie name hardcoded: https://github.com/tomchristie/django-rest-framework/blob/bb56ca46ed6c07db0146dbdc61c672ff25f127de/rest_framework/static/rest_framework/js/csrf.js#L36. It should instead get the cookie name from settings.