我试图在javascript中使用cloudapp api,问题是api正在使用摘要访问身份验证进行身份验证。 我访问了应用documentation,但没有javascript的示例或包装。 我尝试了很多东西,但这是我最新的代码:
$.ajax({
headers: { "Accept": "application/json"},
type: "GET",
url: "http://my.cl.ly/account",
crossDomain: true,
success:function(data, textStatus, request){
console.log(data);
}
});
所有我使用此代码的是跨源资源共享(CORS)问题和401 Unauthorized错误。 这是响应标题:
Cache-Control no-cache
Connection keep-alive
Content-Type text/plain; charset=utf-8
Date Wed, 17 Sep 2014 20:15:26 GMT
Transfer-Encoding chunked
WWW-Authenticate Digest realm="Application", qop="auth", algorithm=MD5, nonce="MTQxMDk4NDkyNjo4MmE4ZWU0ZDY4YWUwYTAyMjRjNzIzYWU2NzE5YTQyMQ==", opaque="9eb56ccb2e8b017ae42bdb4739690863"
X-Request-Id b6bdbf12-f1d9-4769-a06d-216d5d7ae669
X-Runtime 0.008105
status 401 Unauthorized
x-ua-compatible IE=Edge,chrome=1
那么如何使用WWW-Authenticate来验证和检索数据?
我也尝试添加
xhrFields: {
withCredentials: true
}
我得到了一个承诺,我填写了它,现在我获得了200 OK状态,但没有回应。 我所需要的只是让这个工作得到回报。 感谢。
答案 0 :(得分:0)
您似乎正在使用摘要式访问身份验证算法。在第一次请求时获取401是算法的一部分,您必须完全实现它。在WWW-Authenticate标题中,您已获得所有必填字段。我希望这会对你有所帮助:
http://en.wikipedia.org/wiki/Digest_access_authentication What is digest authentication?