Authorization header missing in django rest_framework, is apache to blame?

apache, apache2, authorization, django-rest-framework, mod-proxy

Solution

Sorry to answer my own question minutes after asking it. But it turns out it was apache2 after all! After crawling the webs and looking through a few search results I found this in a comment:

RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]

Adding the above lines to my conf file seemed to solve all of my problems! Hopefully this helps users down the road!

Problem

I've managed to extend `TokenAuthentication` and I have a working model when using the request session to store my tokens, however when I attempt to pass `Authorization` as a header parameter as described here, I noticed that my Responses come back without the META variable HTTP_AUTHORIZATION. I also noticed that if I pass "Authorization2" as a header parameter that it is visible in the request: ``` { '_content_type': '', 'accepted_media_type': 'application/json', '_request': <WSGIRequest path:/api/test_auth/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{ 'MOD_AUTH_CAS_S': 'ba90237b5b6a15017f8ca1d5ef0b95c1', 'csrftoken': 'VswgfoOGHQmbWpCXksGUycj94XlwBwMh', 'sessionid': 'de1f3a8eee48730dd34f6b4d41caa210' }, META:{ 'DOCUMENT_ROOT': '/etc/apache2/htdocs', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': '1', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', 'HTTP_AUTHORIZATION2': 'Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4c', ... ``` My first guess is that the authorization header is being removed by apache, and I have read a few S/O questions that state that apache will throw out the value if it does not match basic authorization and authenticate, but I have no idea how to allow the Authorization header to 'pass through' to Django and the WSGIRequest. Does anyone know how to solve this problem? I also use mod_auth_cas and mod_proxy, if that changes anything..

Original source