如何保护开放API端点?

问题描述 投票:0回答:2

我有一个没有身份验证(故意)的 API。我如何保护它,以便只有我的应用程序可以发出请求,并且 API 可以识别仅来自该服务器的 API 请求?

api rest authentication security
2个回答
0
投票

好吧,你需要身份验证🤷

为了验证谁在调用您的 API,您需要对他们进行身份验证。这并不意味着您必须对用户进行身份验证。应用程序还可以验证并向其他应用程序展示其身份。这就是你需要的。您可以通过几种不同的方式实现此类应用程序到应用程序的身份验证:

  1. 基本身份验证。您可以在应用程序中保存 ID 和密钥,并使用它们发送
    Authentication
    标头。
  2. 使用 OAuth 的客户端凭证流程。这是专门为应用程序设计的 OAuth 流程,用于向其他应用程序识别自己的身份。
  3. 使用相互 TLS。您可以告诉 API 您的应用程序将使用什么证书,并仅接受与该证书的连接。
  4. 使用 JWT 断言进行识别。在这种方法中,您的应用程序使用其 ID 签署 JWT,并且 API 能够验证 JWT 的签名。

-1
投票

您可以提供IP限制。您可以获取远程请求IP,并检查IP是否在允许的IP列表中。

© www.soinside.com 2019 - 2024. All rights reserved.