node.js-REST API安全性。SSL还是OAuth2?

比吉特

我正在构建一个nodejs Express REST API。我有以下设置。

API服务器(nodejs)从mongodb返回数据。

Webserver(nodejs)托管有角度的Web应用程序。

一点点Google-ing告诉我,我应该使用OAuth2来保护我的REST API。

一些链接还建议我使用SSL。

我不清楚SSL是否是OAuth2的替代解决方案,还是应该与OAuth2一起使用以提高安全性?

如果我在Web服务器和API服务器之间使用SSL进行通讯!我仍然需要使用OAuth2吗?

我是“首次API构建者”。如果这个问题听起来很模糊,我感到很抱歉。

助剂

为您的客户端应用程序构建API并不少见。有时,将负责API的应用程序与负责托管客户端应用程序的应用程序分开是有意义的(在这种情况下,它似乎是Angular应用程序)。但是,请知道这些可以是同一对象,并且可能建议使用它们,直到它们变得足够大以至于可以分开为止。如果它们是分开的,那么您将很快遇到一个同源策略问题,并且可能需要将来自客户端应用程序的请求代理到单独托管的API应用程序-或者您可以在相同的域下运行它们,并使用某些东西进行代理像nginx或apache。综上所述,您可能会考虑从这两个应用程序作为一个应用程序开始。

转向安全性,SSL是一种保护客户端与服务器的连接的方法(将其视为HTTPS可能是最简单的方法)。这是一个很好的策略,一旦有人在客户端和服务器之间传输了不应被其他人查看的数据,则建议该人实施。知道SSL不特定于Node.js或REST,而只是保护Web请求/响应通信的一种方式。

在确保请求安全的情况下,您仍然需要知道在发出请求,以及他们是否有权执行他们要问的事情。证明您是谁,就是身份验证,而您被允许做的是授权身份验证有很多方法,一旦完成,通常由应用程序负责决定用户的授权。OAuth是帮助完成此过程的一种方法,并且已通过Facebook,Google,Twitter等登录网站而变得流行。有许多工具可以帮助您将OAuth与应用程序集成,Passport是Node最受欢迎的选择之一。

因此,您的问题有点含糊,但是希望这可以帮助您了解SSL和OAuth之间的区别。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章