繁体   English   中英

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

[英]node.js - REST API security. SSL or OAuth2?

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

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

Web服务器(nodejs)托管角度Web应用程序。

谷歌的一点点告诉我,我应该使用OAuth2来保护我的REST API。

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

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

如果我使用SSL进行Webserver和AP​​I服务器之间的通信! 我还需要使用OAuth2吗?

我是“第一次使用API​​构建器”。 如果这个问题听起来很模糊,我很抱歉。

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

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

在保证请求的情况下,您仍然需要知道在提出请求,以及他们是否有权访问他们所要求的内容。 证明您的身份身份验证 ,您可以做的是授权 有许多方法可以进行身份​​验证,一旦您这样做,通常由应用程序负责决定用户的授权。 OAuth是一种帮助这一过程的方法,并且通过Facebook,Google,Twitter等登录网站变得流行。 有许多工具可以帮助您将OAuth与应用程序集成, Passport是Node的更受欢迎的选择之一。

所以你的问题有点模糊,但希望这可以帮助你理解SSL和OAuth之间的区别。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM