限制对某个域的API调用

时间:2015-05-05 16:41:24

标签: angularjs api rest facebook-graph-api fuelphp

我的应用使用JS Facebook API将Facebook用作登录/通行证。在这里尝试登录时会发生什么。

  1. 用户点击Facebook登录按钮
  2. Facebook认证
  3. 如果成功。我抓住Facebook ID和用户名称
  4. 在我的APP上调用我的REST API,检查并查看该FBID是否已在我的系统中注册。
  5. 如果已注册,我会编写会话以验证用户是否已通过身份验证。
  6. 这很好,因为我不必存储用户名和密码。但我担心有人会在chrome中使用像POSTMAN这样的REST API调试器,只需发送一个Facebook ID和用户名,他们就会被认证。

    我的问题是什么是保护我的目标的最佳方法,这将阻止像POSTMAN这样的应用程序只输入验证所需的字段?我错过了什么吗?任何人都可以为此推荐一个策略吗?

    或者正在使用CSRF令牌来解决这个问题的唯一方法?我正在使用FuelPHP作为后端,并使用AngularJS和NgRoutes进行单页面应用程序。但每次我在燃料上启用CSRF时,传递的令牌与后端的令牌不匹配。

    我的印象是,这是因为javascript令牌功能在主页面中,其中是ng-view。我知道这可能与ngRoutes有关。

    http://fuelphp.com/docs/classes/security.html

1 个答案:

答案 0 :(得分:0)

使用Fuel的Auth软件包。它具有Opauth集成功能,可以完成上述所有操作,并且可以提供整个社交媒体平台列表,而不仅仅是facebook。

总是尽量不重新发明轮子,假设其他人遇到了同样的挑战,解决了这个问题,并与社区分享了解决方案。