2017-09-07 5 views
1

すべての取得リクエストに認証ヘッダーに特定のトークンがあることを確認したいと思います。Expressでのリクエストヘッダーの認証

私は、私たちのgetエンドポイントにこれを追加することができます。

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

は、すべてのエンドポイントを変更することなく、NodeJS/Expressでこれを処理する任意のより良い方法はありますか? before-filter/AOPアプローチのようなもの?

はありがとう

middlewareは何のためにあるのかだ
+0

受信したすべてのHTTP要求に対して承認ヘッダーをチェックする単純な高速ミドルウェアを作成できます。ルートを処理する前にミドルウェアをapp.use()してください – amoghesturi

答えて

3

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

...all your protected routes... 

するミドルウェアは、ミドルウェアが適用されるべきであるために前にルートを宣言されていることを確認してください。

関連する問題