Angularjs 请求OAUTH令牌时出现重新启动语言错误
我正在使用AppGyver和AngularJS构建一个移动应用程序 在登录页面,我使用以下命令向我的Web API服务器发出POST请求:Angularjs 请求OAUTH令牌时出现重新启动语言错误,angularjs,cordova,oauth,restangular,Angularjs,Cordova,Oauth,Restangular,我正在使用AppGyver和AngularJS构建一个移动应用程序 在登录页面,我使用以下命令向我的Web API服务器发出POST请求: Restangular.all("token") .post({ grant_type: "password", username:username, password:password }); 我的RESTangular是这样设置的: appServerModule.config(function(RestangularProvi
Restangular.all("token")
.post({
grant_type: "password",
username:username,
password:password
});
我的RESTangular是这样设置的:
appServerModule.config(function(RestangularProvider) {
RestangularProvider.setBaseUrl('http://192.168.1.58/AppServer/api');
RestangularProvider.setErrorInterceptor(function(response) {
steroids.logger.log("RestangularProvider error:" + JSON.stringify(response));
});
});
当我执行POST请求时,我在记录器中获得以下输出:
"RestangularProvider error:{"data":"","status":0,"config":{"method":"POST","transformRequest":[null],"transformResponse":[null],"headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json;charset=utf-8"},"url":"http://192.168.1.58/AppServer/api/token","data":{"grant_type":"password","username":"AppServer","password":"AppServer"}},"statusText":""}"
如您所见,错误消息不包含任何有用的信息,因此我不知道出了什么问题。。
我可以在浏览器中使用Postman很好地执行POST,Web API设置为允许CORS
我错过了什么?
我怎样才能获得更多关于幕后发生的事情的信息
请注意,我是在移动设备上进行此操作的
额外信息:
GET请求提供了预期的重新启动语言错误:
"RestangularProvider error:{"data":{"Message":"Authorization has been denied for this request."},"status":401,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"headers":{"Accept":"application/json, text/plain, */*"},"url":"http://192.168.1.58/AppServer/api/chapters"},"statusText":"Unauthorized"}"
OWIN OAuth 2.0授权服务器不支持令牌请求的JSON 从javascript客户端发出请求时,需要使用x-www-form-urlencoded而不是JSON:
Restangular.all("token")
.post("grant_type=password&username=YourUsername&password=YourPassword", undefined, {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
});