OpenFire Rest API 401未经授权的错误

时间:2015-11-08 13:59:53

标签: angularjs rest cors openfire

我正在使用安装了REST API插件的OpenFire。

我试图通过AngularJS $ http调用http://localhost:9090/plugins/restapi/v1/chatrooms来获取聊天室列表

$http.defaults.headers.common属性中设置了适当的Authorization标头。

进行通话时,我收到以下错误:

OPTIONS http://localhost:9090/plugins/restapi/v1/chatrooms 401 (Unauthorized)(anonymous function) @ angular.js:10722sendReq @ angular.js:10515serverRequest @ angular.js:10222processQueue @ angular.js:14745(anonymous function) @ angular.js:14761Scope.$eval @ angular.js:15989Scope.$digest @ angular.js:15800(anonymous function) @ angular.js:16028completeOutstandingRequest @ angular.js:5507(anonymous function) @ angular.js:5784


XMLHttpRequest cannot load  http://localhost:9090/plugins/restapi/v1/chatrooms. Response for preflight has invalid HTTP status code 401

真正恼人的问题是,当我通过Postman构建相同的请求时,它完美地运行并且在浏览器内接收到预期的响应(无论是通过$ http,还是通过控制台调用window.fetch)我继续犯这个错误。

据说,OpenFire REST API支持CORS(我甚至检查了插件源代码),但似乎没有任何帮助。

2 个答案:

答案 0 :(得分:1)

我是REST API插件的开发人员。你是对的,REST API支持CORS,可以直接从angular js调用它。提到的问题(预检请求)将由您的浏览器完成。我刚刚解决了OPTION请求不需要授权的问题。 签出REST API版本:1.1.7

答案 1 :(得分:0)

我建议您比较fiddler请求和浏览器请求(标题+正文)。 它应该有效,如果它们100%相同..

相关问题