【发布时间】:2017-01-18 16:42:51
【问题描述】:
我从应用程序 http 会话中捕获了一些信息,并试图破译应用程序如何通过身份验证。我尝试了多种方法/组合,但似乎无法弄清楚它们是如何传递凭据的。
捕获:
GET /features HTTP/1.1
user: thisUser@email.com
X-Password: ThisUserPassword
Accept: application/json
Cache-Control: public, max-age=1 max-stale=1
X-NewRelic-ID: VQ4AV1BbGwIIXVFXAwM=
Host: www.blah.com
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/2.3.0
If-None-Match: "d751713988987e9331980363e24189ce"
HTTP/1.1 304 Not Modified
Status: 304 Not Modified
ETag: "d751713988987e9331980363e24189ce"
Cache-Control: max-age=0, private, must-revalidate
X-UA-Compatible: IE=Edge,chrome=1
X-Runtime: 0.034169
X-NewRelic-App-Data: PxQGWVFVDgsTVVdWBAYBVkYdFHANCBcQXw5UB0oXR1dBE1ACVBIcFgVOXj4LAl9aUzsUEVJDGAABUEJGEAMQQBxSFlIUCBoCAFAMUwRRC1FRAgZZUVMJARxJUE4VBgBVV1QGUFEHAAdSVAFXCBpp
Accept-Ranges: bytes
Date: Wed, 18 Jan 2017 13:55:45 GMT
X-Varnish: 405330697
Age: 0
Via: 1.1 varnish
Connection: close
X-Varnish-Cache: MISS
X-Frame-Options: SAMEORIGIN
我试过这些组合:
var headers = {Authorization:"Basic thisUser@email.com:ThisUserPassowrd"} ;
var headers = {Authorization:"thisUser@email.com:ThisUserPassowrd"} ;
var headers = {Authorization:"Basic user:thisUser@email.com,X-Password:ThisUserPassowrd"} ;
var headers = {Authorization:"user:thisUser@email.com,X-Password:ThisUserPassowrd"} ;
我什至尝试过编码:
var userCreds = btoa("thisUser@email.com:ThisUserPassowrd") ;
//
var headers = {"Authorization": "Basic" + userCreds} ;
var headers = {"Authorization": userCreds} ;
这是我的 http 调用,我正在换入/换出“基本”和 userCreds/userCreds1 以进行各种测试:
var userCreds = "thisUser@email.com:ThisUserPassword" ;
var userCreds1 = btoa(userCreds) ;
var baseUrl = "https://www.blah.com" ;
var headers = {"Content-Type":"application/JSON", Authorization: userCreds1} ;
var req = {
method: 'GET',
url: baseUrl + '/features' ,
headers: headers
}
return $http(req).then(function(response) {
我收到的错误是“UnauthorizedAccess:电子邮件或密码不正确”。我的意思是,它是否也在寻找要传入的实际字段“user”和“X-Password”?
谁能帮我弄清楚这里的正确方法是什么?
【问题讨论】:
标签: javascript angularjs http-headers authorization