保护node.js restful API

我想要确保一个安静的Api,并且尽力保持它尽可能简单,以及无国籍。

什么是存储,生成和validationAPI密钥的最佳方式? 我正在考虑用node-uuid生成密钥,将它们存储在redis中,然后用passport-apikeys进行身份validation。

这会工作吗? 还是有我缺less的另一个最佳解决scheme。

我一直在阅读这个好消息,但是很多资源都缺less实际的实现,就像这篇文章一样

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

您可以使用Node.jsencryption模块。 http://nodejs.org/api/crypto.html#crypto_class_hmac

希望这个对你有帮助。