Я получаю следующее сообщение об ошибке при использовании ApiKeyAuthentication для моих ресурсов Tastypie, когда я пытаюсь сделать запрос HTTP с использованием AJAX и Tastypie:«заголовок запроса поле авторизации не допускается» Ошибка - Tastypie
XMLHttpRequest cannot load http://domain.com/api/v1/item/?format=json&username=popo&api_key=b83d21e2f8bd4952a53d0ce12a2314c0ffa031b1. Request header field Authorization is not allowed by Access-Control-Allow-Headers.
Любые идеи о том, как это решить?
Вот заголовки запроса от Chrome:
Request Headersview source
Accept:*/*
Accept-Charset:
ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:
origin, authorization, access-control-allow-origin, accept, access-control-allow-headers
Access-Control-Request-Method:
GET
Вот заголовки ответа от Chrome:
Response Headersview source
Access-Control-Allow-Headers:
Origin,Content-Type,Accept,Authorization
Access-Control-Allow-Methods:
POST,GET,OPTIONS,PUT,DELETE
Access-Control-Allow-Origin:*
Connection:keep-alive
Content-Length:0
Content-Type:
text/html; charset=utf-8
Date:Fri, 11 May 2012 21:38:35 GMT
Server:nginx
Как вы можете видеть, что они оба имеют заголовки для авторизации, но авторизация не Работа.
Вот Джанго промежуточного слоя, который я использую для редактирования заголовков ответа: https://gist.github.com/1164697
Edit: я понял проблему. Я пытался подключиться к www.domain.com, и он принимает только домен.com
Аякса звонки поступают из того же домена. Как я могу сделать изменения на стороне сервера, чтобы разрешать запросы из внешних доменов, и каковы проблемы безопасности, возникающие при этом? – egidra
Я обновил свой ответ – antyrat
Я добавил следующий заголовок ко всем моим запросам ajax: «Access-Control-Allow-Origin»: '*'. Я все еще получаю ту же ошибку: поле заголовка запроса. Разрешения Access-Control-Allow-Headers разрешены. – egidra