[英]Securing Nodejs express API
我正在使用Express 4(express.Router)制作非常基本的REST API。 如何以简单的方式保护此API?
我不需要对个人用户进行身份验证,因此我发现的大多数策略似乎都过分了。 我只是在尝试适当地保护API,因此希望是唯一使用它的人。 不确定我可以使用什么策略从客户那里传递一些东西来识别自己。 谢谢!
我将通过网页以及移动客户端(使用Ionic)访问此API,并将该应用托管在Google Clouds App Engine上。
您可以使用标头或查询字符串进行身份验证。 例如,在Express上安装中间件以检查标题X-TOKEN
包含您选择的字符串。
这是您可以用来执行此操作的代码:
function checkAuthHeader (req, res, next) {
let token = req.headers['X-TOKEN'];
if (token && token == "RANDOM_GENERATED_STRING") {
next();
} else {
res.status(403).end('Unauthorized.')
}
}
然后,您可以将此函数用作这样的中间件(确保在声明路由之前将其放置):
app.use(checkAuthHeader)
您还应该使用环境变量而不是硬编码的字符串。 我只是使用一个硬编码的示例进行演示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.