2014-09-04 4 views
0

저는 AppGyver와 AngularJS를 사용하여 모바일 앱을 제작하고 있습니다.OAUTH 토큰을 요청하는 중 세분화 된 오류가 발생했습니다.

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를 실행하면 로그인 페이지에서

, 나는이 사용하여 내 웹 API 서버에 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를 올바르게 실행할 수 있으며 CORS를 허용하도록 웹 API가 설정되어있다.

무엇이 여기에 있습니까? 백그라운드에서 일어나는 일에 대해 더 많은 정보를 얻으려면 어떻게해야합니까?

휴대 기기에서이 작업을 수행하고 있습니다.

추가 정보 : GET 요청이 예상 Restangular 오류를 제공합니다

"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"}" 

답변

1

OWIN의 OAuth 2.0 인증 서버 토큰 요청에 대한 JSON을 지원하지 않습니다.

Restangular.all("token") 
.post("grant_type=password&username=YourUsername&password=YourPassword", undefined, { 
    'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8', 
}); 
:

당신은 자바 스크립트 클라이언트로부터 요청을하는 동안 대신 JSON의 형식-X-WWW가 urlencoded를 사용할 필요가

관련 문제