【发布时间】:2012-11-03 11:05:39
【问题描述】:
我已经设法扩展TokenAuthentication,并且在使用请求会话存储我的令牌时我有一个工作模型,但是当我尝试将Authorization 作为标头参数as described here 传递时,我注意到我的响应不带 META 变量 HTTP_AUTHORIZATION 回来。我还注意到,如果我将“Authorization2”作为标头参数传递,它在请求中是可见的:
{
'_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',
...
我的第一个猜测是 apache 正在删除授权标头,并且我已经阅读了一些 S/O 问题,指出如果它与基本授权和身份验证不匹配,apache 将丢弃该值,但我没有了解如何允许 Authorization 标头“通过”到 Django 和 WSGIRequest。有谁知道如何解决这个问题?
我也使用 mod_auth_cas 和 mod_proxy,如果这有什么改变的话..
【问题讨论】:
标签: apache apache2 authorization mod-proxy django-rest-framework