我的应用程序是cordova / ionic应用程序。最近,我的应用程序提取的API之一发生了身份验证错误...令牌已被吊销。在Android上,负责API调用的服务返回一个API错误,该错误得到处理,并且该应用继续运行...但是在iOS上,身份验证错误正在生成以下类型的iOS错误,这导致该服务旋转永远不会返回任何东西:
CredStore - preformQuery = Error copying matching creds Error=-25300
我以前从未见过此错误。这不是标准的API错误,我的API服务调用的其余部分处理的是API错误(包括身份验证错误),但是此错误不是API错误,而是iOS错误,它阻止了$ http response
正确返回。我确实知道是什么原因引起的或如何处理。就像auth错误触发了某种iOS凭证错误一样,这又导致$ http(req)只是挂起以等待响应。...
var req = {
method: 'POST',
url: 'https://api.blah.com/oauth/token',
headers: {"Content-Type":"application/JSON", Authorization: "Basic " + blahCreds},
data: {"grant_type":"client_credentials","scope":"public"}
}
return $http(req)
.then(function(response){
在iOS上解决此问题的唯一方法是在timeout:httpTimeout,
上添加$http(req)
-30秒无响应后,API超时并且控制权返回给应用处理timeout
(以及来自其他API的其他数据返回有效数据)。
为了进一步验证response
从未返回,当我在Safari-> Develop中监视我的应用程序时,我看到url https://api.blah.com/oauth/token
的条目只是旋转并旋转以等待某些响应,但是在Xcode我看到上面的错误抛出。