API授权策略

时间:2016-05-09 10:51:49

标签: node.js api authentication authorization

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

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

1 个答案:

答案 0 :(得分:2)

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

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

基本上有三种类型的身份验证通常使用

  • 基本身份验证
  • Oauth1.0a
  • 的oauth2

Http基本身份验证

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

  • 如果受到攻击,则漏洞仅限于API,而不是用户的主控 帐户

  • 每个帐户可以有多个密钥(例如,用户可以拥有" test" 和"生产"钥匙并排。)

<强>您好!OAuth1

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

<强>的oauth2

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

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