在开发两个独立的应用程序时保护API端点,Angular app& Laravel应用程序

时间:2014-09-29 18:03:44

标签: angularjs laravel laravel-4

我已经选择了Angular,现在正在开发两个独立的应用程序,即前端,Angular应用程序和后端,Laravel应用程序。

截至目前,我的后端应用程序只是一个处理请求,数据库交互,逻辑,验证等的API端点。

然而,是什么阻止某人请求/api/users/1并获取该数据?

目前还没有任何措施可以防止这种情况发生。

防止这种情况发生的最佳方法是什么?验证请求是通过应用程序发送的,而不是通过某个随机用户发送http://hurl.it之类的内容?

1 个答案:

答案 0 :(得分:2)

您应首先评估需要保护的路由以及应该有权访问的路由。有时将它们向公众开放可能是好的。

一旦你发现了这一点,你就有了一些选择。我个人倾向于oAuth 2.0协议。有些人发现它过度杀人。还有WSSE,我个人觉得今天有更好的资源来解释oAuth的使用,可能更容易理解。

您可以浏览oAuth服务器库以获取laravel。其中之一是:https://github.com/lucadegasperi/oauth2-server-laravel

如果您的角应用与您的api位于不同的域,您可能还想启用CORS。 IE:api.example.com(持有api)。 example.com就是您的应用程序所在的位置。

对于CORS laravel也有一些包,其中之一是:https://github.com/barryvdh/laravel-cors