API 授权策略

API Authorization Strategy

我在 node js 中有一个 Web 应用程序,它为网站内容的某些方面(例如新闻)消耗 API。 API 写在 node.js 中并指向 mongodb 数据库。

我想要一些关于此类要求的最佳授权策略的建议。我真的不需要用户名和密码解决方案(我不认为)。 Web 应用程序可以传递给 API 的某种静态令牌,以便只有拥有此令牌的应用程序才能浏览 API 返回的数据。我主要想停止任何使用 API.

的旧应用程序

这是最好的博客,可以帮助您在基本 HTTP 身份验证、Oauth1 和 Oauth2

的帮助下在节点 js 中验证 REST Api

https://stormpath.com/blog/secure-your-rest-api-right-way

基本上常用的三种认证方式

  • 基本身份验证
  • Oauth1.0a
  • Oauth2

HTTP 基本身份验证

  • 更方便,因为您可以轻松过期或重新生成令牌 不影响用户的账号密码。

  • 若被攻破,漏洞仅限于API,并非用户的主人 账户

  • 每个帐户可以有多个密钥(例如,用户可以有 "test" 和 "production" 键并排。)

Oauth1

OAuth 1.0 要求客户端为每个 API 调用发送两个安全令牌,并使用它们来生成签名。它要求受保护的资源端点可以访问客户端凭据以验证请求。

Oauth2

生成令牌后,实际 API 调用不需要 OAuth 2.0 签名。它只有一个安全令牌。

Here 描述了 OAuth 1.0 和 2.0 之间的区别以及两者的区别。