簡體   English   中英

保護Node.js Express API

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM