[英]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.