API授权策略

我在节点js中有一个web应用程序,它会消耗一些API,例如新闻等网站内容的某些方面。 API是用node.js编写的,指向一个mongodb数据库。

对于这种types的需求的最佳授权策略,我希望得到一些build议。 我真的不需要用户名和密码解决scheme(我不认为)。 Web应用程序可以传递给API的某种静态令牌,以便只有拥有此令牌的应用程序才能浏览由API返回的数据。 我主要是想停止使用API​​的旧应用程序。

这里是最好的博客,可以帮助您如何在基本HTTP身份validation,Oauth1和Oauth2的帮助下在节点js中validationREST Api

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

基本上有三种通常使用的authenticationtypes

  • 基本authentication
  • Oauth1.0a
  • 的oauth2

Http基本authentication

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

  • 如果受到威胁,漏洞仅限于API,而不是用户的主帐户

  • 每个账户可以有多个密钥(例如,用户可以并排“testing”和“生产”密钥)。

您好!OAuth1

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

的oauth2

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

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