2017-09-07 77 views
1

我想驗證所有獲取請求在其身份驗證標頭中是否包含特定標記。使用Express驗證請求標頭

我可以將它添加到我們的GET端點:

app.get('/events/country', function(req, res) { 
    if (!req.headers.authorization) { 
    return res.json({ error: 'No credentials sent!' }); 
    } 

有沒有什麼更好的方法的NodeJS /快速處理這種不改變的每個端點?像過濾前/ AOP方法?

謝謝

+0

您可以編寫一個簡單的express express中間件,它會爲收到的每個HTTP請求檢查授權頭。在處理任何路由之前,確保app.use()中間件 – amoghesturi

回答

3

這就是middleware是:

app.use(function(req, res, next) { 
    if (!req.headers.authorization) { 
    return res.status(403).json({ error: 'No credentials sent!' }); 
    } 
    next(); 
}); 

...all your protected routes... 

確保中間件聲明之前中間件應適用的路線。