【问题标题】:Should there be separate APIs for public and private endpoints? [closed]公共和私有端点是否应该有单独的 API? [关闭]
【发布时间】:2013-07-27 10:04:48
【问题描述】:

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

【问题讨论】:

  • 您的体验如何,我现在在两者之间做出了同样的选择,请分享您的体验。

标签: php ajax api rest laravel


【解决方案1】:

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

独立的 API

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

相同的 API

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

【讨论】:

  • @Brian,你个人是如何处理它的,或者你最喜欢的方法是什么,或者你对这两种方法的体验如何
  • 是的,很高兴听到更多关于其他人的经验。
猜你喜欢
  • 2010-09-12
  • 1970-01-01
  • 2015-09-27
  • 2021-05-26
  • 2021-01-27
  • 1970-01-01
  • 1970-01-01
  • 2011-09-12
  • 2011-06-18
相关资源
最近更新 更多