来自合作伙伴网站的安全 API 调用

Secure API calls from partner website

在我工作的公司,我们正在构建一个需要允许 API 来自用户网站的调用的系统。

到目前为止我是这样想的:

  1. 用户在我们的系统上注册了他们的网站。

  2. 系统生成一个令牌,将放入用户服务器(或类似的东西)上的文件中,以验证该网站是否归用户所有。

  3. 用户按下验证按钮,这将使我们的系统检查令牌是否存在于预定义位置。

  4. 如果令牌与我们数据库中保存的令牌匹配,则网站已通过验证,并且服务器信息(如 IP 和域名)将保存在数据库中,以允许对系统的请求 API.

为了允许用户以一种简单的方式从用户的网站进行 API 调用,有哪些备选方案?可以做些什么来改进和保护此流程?

我们最终使用的工作流程如下:

  1. 用户在我们的平台上注册他们的网站,其IP地址被提取并保存。
  2. 该应用生成一个网站 API 用户和一个验证码。
  3. 从这一刻起,允许网站使用应复制并保存在客户端服务器上的授权码作为网站 API 用户登录。
  4. 客户端服务器一旦登录,就会收到一个可用于发出其他请求的 JWT。

希望这可能对其他人有用。