2017-09-07 1 views
1

모든 get 요청이 인증 헤더에 특정 토큰을 가지고 있는지 확인하고 싶습니다.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... 

하는 미들웨어는 미들웨어 적용해야 할 전에 경로를 선언되어 있는지 확인합니다.