2014-11-25 85 views
0

我正在創建RESTful API,使用Laravel (BackEnd)AngularJS (Front End),我想實現OAuth以保護我的Laravel API。使用Laravel + OAuth在angularjs中invalid_request

我已經在我的laravel中安裝了OAuth,但是當我從angularjs調用服務器上的請求時,它給出invalid_request的錯誤。 這裏是我的代碼:

Laravel方:

Route::post('oauth/access_token', function() { 
    return Response::json(Authorizer::issueAccessToken()); 
}); 

角邊:

​​

我得到這樣的錯誤:

{ 
    "error":"invalid_request", 
    "error_description":"The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the 'grant_type' parameter." 
} 

什麼問題是什麼想法?

感謝.... :)

回答

1

最後我得到了解決,我只是在數據字段AngularJS添加$.param

$http({ 
    url: $url.siteUrl('oauth/access_token'), 
    method: "post", 
    data: $.param({client_id:"1",client_secret:"12345",grant_type : 'password', username : 'johndoe', password : 'A3ddj3w'}), 
    headers: {'Content-Type': "application/x-www-form-urlencoded"}, 
}).then(function(response) { 
    console.log(response); 
}, function(response) { 
    console.log(response); 
}); 
+0

即使我是有這個問題......我試過相同...但控制檯告訴我$ url不是未定義的...所以我刪除了完整的$ url.siteUrl(就像這個URL:'oauth/access_token')...然後我得到另一個錯誤告訴我$沒有定義指向$後的數據:...我現在應該做什麼...? – Vagabond 2015-01-08 14:18:23

+0

您是否在頭部定義了jquery? – Arjun 2015-01-09 11:58:25

+0

另一件事是$ url.siteUrl是我的自定義函數,它不是由angularjs提供的功能。 – Arjun 2015-01-09 11:59:23