验证对Laravel的Angular API调用

时间:2015-12-14 22:25:09

标签: angularjs laravel-5.1

我正在使用Laravel和Angular构建应用程序。我已经定义了以下路线

Route::group(array('prefix' => 'api'), function() {
Route::resource('getdealsbymerchant/{merchant_id}', 'dealsController@getdealsbymerchant',
    array('only' => array('index')));
});

我有这条路线在工作。当我点击它时,我得到一个JSON响应。

我还能够在Angular中进行API调用以读取数据并显示它。

在我的app.js中我定义了

var app = angular.module('deals', [])
    .constant('API_URL', 'http://www.coupon.local/api/getdealsbymerchant/');

我知道我可以通过添加

来保护路线
'middleware' => 'auth',

到路线。

我的问题是如何验证我的Angular应用程序,以确保只有角度应用程序才能访问API,而不是其他所有人。

我是否在app.js中传递用户名和密码,或者有更好的方法吗?此外,由于app.js位于公共文件夹中,是不是每个人都能看到我传递的用户名密码?

请帮忙。 感谢。

1 个答案:

答案 0 :(得分:1)

以角度存储任何用户或密码,密钥等是一个坏主意,因为它使用户可见..我知道的最好的方法是制作一个中间层......所以不要调用这个端点: http://www.coupon.local/api/getdealsbymerchant/

angular应该调用: http://www.coupon.local/getdealsbymerchant 在内部将调用api并在服务器端具有所有私有内容