diff --git a/djangorestframework/authentication.py b/djangorestframework/authentication.py index b61af32a2..ea030c06b 100644 --- a/djangorestframework/authentication.py +++ b/djangorestframework/authentication.py @@ -95,11 +95,16 @@ class UserLoggedInAuthentication(BaseAuthentication): # Temporarily replace request.POST with .DATA, to use our generic parsing. # If DATA is not dict-like, use an empty dict. if request.method.upper() == 'POST': + token = request.POST.get('csrfmiddlewaretoken') + if hasattr(self.view.DATA, 'get'): - request._post = self.view.DATA + request._post = self.view.DATA.copy() else: request._post = {} + if token is not None: + request._post['csrfmiddlewaretoken'] = token + resp = CsrfViewMiddleware().process_view(request, None, (), {}) # Replace request.POST