使用Node保护API

时间:2016-03-11 17:19:12

标签: javascript node.js api security

我正在尝试构建我的第一个API,以供使用Ionic构建的移动应用程序使用。

在开始之前,我正在研究架构,但我无法准确理解如何使我的API路径安全。

假设我有一个类似http://myapi/v1/get-items的端点,我的应用程序不需要用户进行身份验证即可在移动应用中查看这些项目。

我应该如何使用Postman保护该路线不受外部查询影响?

我希望除非申请没有要求,否则无法访问该路由。

在Google上查看我可以找到许多使用基本身份验证的解决方案,但所有这些都需要用户登录...如果我的应用没有用户登录怎么办?

我有点困惑,但我认为有一个解决方案,我还不知道......

我希望你能帮助我理解它。

修改

我的问题完全不同于以下内容:How to implement a secure REST API with node.js

我正在寻找不要需要用户身份验证的解决方案。

2 个答案:

答案 0 :(得分:0)

如果您不想通过Passport之类的内容使用用户身份验证,则可以在您的Node API中建立白名单。 express-ipfilter是一个快速中间件模块,允许您根据请求IP过滤请求。

答案 1 :(得分:0)

要求登录是确保您的api保密的最简洁,最安全的方法。但是,如果您希望在不需要登录的情况下让外部用户远离您的服务,则需要“签署”您的请求。我的意思是做一些事情,比如使用服务器和客户端应用程序都知道的密钥加密客户端上的当前时间戳,将加密的字符串添加为标头,在服务器中接收该标头,解密它并检查它是否也不是在您返回回复之前的旧时间戳。

这不是很安全(如果有人可以看到他们可以看到加密密钥的代码),但这是一个障碍而且不需要登录。有关加密/解密的示例,请参阅this

相关问题