Secure node.js restful API

Secure node.js restful API

本文关键字:API restful js node Secure      更新时间:2023-09-26

我想确保一个restful Api,我试图保持它尽可能简单,以及无状态。

存储、生成和认证api密钥的最佳方式是什么?我正在考虑用node- uid生成密钥,将它们存储在redis中,然后用passport-apikeys对它们进行身份验证。

这个可行吗?或者是否有另一个我错过的最佳解决方案。

我一直在阅读这方面的大量内容,但是很多资源都缺少实际的实现,比如这篇文章

你的解决方案听起来不错,但恐怕不够安全。我建议您用密钥对请求进行签名,这样您就可以保护您的API不被篡改。因此,您需要为将要使用您的API的用户生成一个密钥对,比如access idaccess key。HTTP请求将有两个部分,一个是access id,另一个是access key计算整个请求内容的签名。但是access key不应该通过HTTP传递。所以在服务器端,你可以通过access key存储在Redis检查HTTP请求的签名。

你可以使用Node.js加密模块。http://nodejs.org/api/crypto.html crypto_class_hmac