公共和私人端点应该有单独的API吗?

时间:2013-07-27 00:48:32

标签: php ajax api rest laravel

如果某个网站有一个面向公众的前端消耗API,并且还有一个后端用于具有更强大角色但也消耗API的用户,那么该站点的两个部分都应使用相同的API或不同的API(例如:/ api / v1 / resourceName vs / api / admin / resourceName)?

1 个答案:

答案 0 :(得分:7)

这实际上取决于你的情况。如果您的私有端点绝对必须保持私有,那么单独的API是唯一的绝对解决方案。一般来说,这似乎有点矫枉过正。对于大多数情况,我建议从一开始就维护单个API并设计具有安全性的私有端点。

单独的API

  • 您必须维护两个代码库,或者至少将私有API的端口部分保存到公共系统。
  • 您必须维护两个生产API系统。
  • 更好的安全性:公共客户端将无法访问API上的私有内部资源,即使用户密钥/密码等被破坏,或者面向公众的API处理安全性的方式也存在错误。

相同的API

  • 一个代码库和一个服务器。
  • 安全性将更加重要。您必须确保公共客户端无法访问内部资源。安全漏洞或对私有端点安全性的疏忽可能会导致严重问题。