Подтвердить что ты не робот

CORS и HTTP basic auth

Как бы выглядел запрограммированный HTTP-запрос, если вы включили Basic auth? Как следующий разговор? У меня возникли проблемы с пониманием того, какие заголовки должны быть отправлены туда, а также потому, что его невозможно правильно отладить с помощью Firebug

Клиент:

OPTIONS /api/resource HTTP/1.1
Access-Control-Request-Method: GET
Origin: http://jsconsole.com

Сервер:

HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, PUT, DELETE
Access-Control-Allow-Headers: Authorization
Access-Control-Max-Age: 1728000
Access-Control-Allow-Credentials: true

Клиент:

GET /api/resource HTTP/1.1
Access-Control-Request-Method: GET
Access-Control-Allow-Credentials: true
Origin: http://jsconsole.com

Сервер:

HTTP/1.1 401 Unauthorized
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, PUT, DELETE
Access-Control-Allow-Headers: Authorization
Access-Control-Max-Age: 1728000
Access-Control-Allow-Credentials: true
WWW-Authenticate: Basic realm="Authorisation Required"

Клиент:

GET /api/resource HTTP/1.1
Access-Control-Allow-Credentials: true
Authorization: Basic base64encodedUserAndPassword
Access-Control-Request-Method: GET
Origin: http://jsconsole.com

Сервер:

HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, PUT, DELETE
Access-Control-Allow-Headers: Authorization
Access-Control-Max-Age: 1728000
Access-Control-Allow-Credentials: true
4b9b3361

Ответ 1

Если вы запрашиваете учетные данные, тогда сервер должен ответить определенным источником в заголовке ответа Access-Control-Allow-Origin (и, следовательно, не может использовать подстановочный знак *). Конечно, тогда также потребуется ответить также заголовком ответа Access-Control-Allow-Credentials.