如何保护来自 Postman 等第三方工具的 Web API 请求调用?

Ani*_*ngh 6 authentication api rest model-view-controller web

我正面临一个关于在 MVC 5 应用程序中调用 Web API 的问题。

我想保护我的 Web API 不被工具(例如 Postman、REST 客户端等)调用。当我使用我的登录名和密码登录我的应用程序时,我从浏览器复制了所有请求标头,并在 Postman 中传递复制的标头和 API URL 并提交。提交后,它得到一个有效的响应。

如何防范这种情况?我只想从我的应用程序中调用它,而不是像 Postman 这样的其他工具。

Ale*_*scu 2

您可以查看以下任一内容:

  • 添加 API 密钥作为身份验证的一部分,您的应用程序(客户端)将存储该密钥并随每个请求一起发送(当然,拥有 API 密钥的任何人也可以执行此操作);
  • 如果您的应用程序是与网络相关的客户端,您可以通过仅允许从受信任域列表发送的请求来增强此功能