我正在使用angular-http-auth软件包,它是一个用于angular的HTTP拦截器,可以检测401个非授权请求,并允许延迟请求并在它之前执行授权。
但是,我有一个问题,授权是另一个请求,也可以触发401错误。我想取消这些请求,因为我将重新发布它们。
从本质上讲,我接受了这样的事件:
$scope.$on('event:auth-loginRequired', function (event, httpHeader) {
})
其中,事件为JS event
对象,而httpHeader
是一组有关请求的数据,即401' d。
httpHeader的例子:
{
"data": "",
"status": 401,
"config": {
"method": "POST",
"transformRequest": [null],
"transformResponse": [null],
"data": { "password": "wrqwfqwvcfqwfcq", "userName": "user123"},
"url": "https://localhost:44300/api/authentication",
"headers": {
"Accept": "application/json, text/plain, */*",
"Content-Type": "application/json;charset=utf-8",
"X-Auth-Token": "73r23r"
},
"withCredentials": true
},
"statusText": "Unauthorized"
}
因此,我分析httpHeader.config.url
,我可能希望取消某些特定的URL请求(保持其他未决请求不受影响和等待),最好是基于httpHeader
和收到的事件信息。我怎么能这样做?