Tôi đang cố gắng có được một dữ liệu POST từ API của tôi nhưng tôi không thể vượt qua xác thực cơ bản ...Làm thế nào để gửi một tiêu đề uỷ quyền chính xác cho xác thực cơ bản
tôi cố gắng:
$.ajax({
type: 'POST',
url: http://theappurl.com/api/v1/method/,
data: {},
crossDomain: true,
beforeSend: function(xhr) {
xhr.setRequestHeader('Authorization', 'Basic ZWx1c3VhcmlvOnlsYWNsYXZl');
}
});
đáp ứng cấu hình máy chủ của tôi là:
response["Access-Control-Allow-Origin"] = "*"
response["Access-Control-Allow-Methods"] = "POST"
response["Access-Control-Max-Age"] = "1000"
response["Access-Control-Allow-Headers"] = "*"
Các tiêu đề mà tôi nhận được là:
Request Headers
OPTIONS /api/v1/token-auth/ HTTP/1.1
Host: theappurl.com
Connection: keep-alive
Access-Control-Request-Method: POST
Origin: http://127.0.0.1:8080
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
Access-Control-Request-Headers: origin, authorization, content-type
Accept: */*
Referer: http://127.0.0.1:8080/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: es,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
tiêu đề đáp ứng
HTTP/1.1 401 Unauthorized
Server: nginx/1.1.19
Date: Fri, 16 Aug 2013 01:29:21 GMT
Content-Type: text/html
Content-Length: 597
Connection: keep-alive
WWW-Authenticate: Basic realm="Restricted"
Tôi đoán những gì cấu hình máy chủ là tốt vì tôi có thể truy cập vào API từ Advanced REST Client (Chrome Extension)
Bất kỳ đề xuất?
PD: Các tiêu đề mà tôi nhận được từ nâng cao REST của khách hàng là:
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
Origin: chrome-extension://hgmloofddffdnphfgcellkdfbfbjeloo
Authorization: Basic ZWx1c3VhcmlvOnlsYWNsYXZl
Content-Type: application/x-www-form-urlencoded
Accept: */*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: es,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
và
Server: nginx/1.1.19
Date: Fri, 16 Aug 2013 01:07:18 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept, Cookie
Allow: POST, OPTIONS
X-Robots-Tag: noindex
gửi phương pháp OPTION
Tôi nhận thấy bài đăng này đã chết, nhưng tôi chỉ muốn chỉ ra trong trường hợp bạn không biết rằng bằng cách đăng tiêu đề Cấp quyền: bạn đã đăng mật khẩu của mình rõ ràng. Chuỗi vô nghĩa chỉ có mã hóa base64 của tên người dùng của bạn: mật khẩu, vì vậy mọi người đều có thể nhìn thấy mật khẩu của bạn. Hy vọng rằng bạn đã nhận ra điều này và sử dụng mật khẩu giả ở đây :) – Lexelby