• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

미들웨어에 미들웨어를 붙이는 이유가 이해가 잘 안됩니다. ㅠ

22.02.11 17:40 작성 조회수 100

0

안녕하세요 제로초님.

혹시 미들웨어에 미들웨어를 붙이는 이유와 주로 어떤 상황에서 붙여서 사용하는지 자세하게 알고싶습니다 .

답변 주시면 감사하겠습니다 ㅠㅠ

코드에서는 대표적으로 로그인에서 사용하고 있긴한데 ..

router.post('/login', isNotLoggedIn, async (req, res, next) => {
passport.authenticate('local', (authError, user, info) => {
if (authError) {
console.error(authError);
return next(authError);
}
if (!user) {
return res.redirect(`/?loginError=${info.message}`);
}
return req.login(user, (loginError) => {
if (loginError) {
console.error(loginError);
return next(autnError);
}
return res.redirect('/');
});
})(req, res, next);
});

자세히 알고싶어서 질문드립니다 ㅠ

 

 

 

답변 1

답변을 작성해보세요.

1

내부에 쓰는 미들웨어(저기서는 passport.authenticate)를 커스터마이징하고싶을 때 쓰는 겁니다. 미들웨어에서  req res next를 쓸 수가 있게 되고요. 뭐라고 말씀을 드려야할 지 잘 모르겠는데 실제로 해보시면 코드가 저렇게밖에 안 됩니다.