【问题标题】:Securing programmatic access of a Node.js REST API保护 Node.js REST API 的编程访问
【发布时间】:2020-05-22 01:29:45
【问题描述】:

我有一个 Node.js REST API,通常在从 UI 登录后使用有效的令牌。令牌生成和身份验证仅发生在我的 node.js 服务器上。我必须保护此 API 以进行编程访问。

例如,“将商品添加到库存 API”。 API 应该允许商家在通过 UI 登录后添加商品,也可以通过他的终端进行编程访问(假设他有一个自动系统,使他能够定期这样做)

如何正确保护这样的系统。我想实施的解决方案很少 这但是什么是最正确的方法呢?

【问题讨论】:

  • OAuth2 是一个很好的默认值。您的用户界面和商家都可以使用相同的 API 和身份验证系统。
  • 嗨,你是说我们应该在这里有第三方吗?因为 OAuth 有三方,对吗?就我而言,我只有两方……你能详细指导我一下你建议如何实施吗?
  • 在您的情况下,仍然有 3 方:用户、API 和您的 UI。您的 UI 将有效地成为您 API 的第一个用户。

标签: node.js rest authentication oauth token


【解决方案1】:

听起来您想为您的商家提供一个 API 密钥以访问您应用的 API。这是一种很常见的模式。

【讨论】:

  • 那么,您是说应该为每个用户提供唯一的 API 密钥吗?到目前为止,我可以随时通过 UI 使用户登录请求无效或阻止,我也想保持该特权以进行编程访问。
  • 没错,每个用户都需要自己唯一的 API 密钥。我不明白为什么您不能像用户登录请求一样阻止/使 API 调用无效。
猜你喜欢
  • 2015-03-21
  • 2016-01-09
  • 2023-03-16
  • 2017-12-28
  • 1970-01-01
  • 1970-01-01
  • 2019-06-03
  • 2017-04-15
相关资源
最近更新 更多