인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

빈프스님의 프로필 이미지
빈프스

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

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

작성

·

154

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를 쓸 수가 있게 되고요. 뭐라고 말씀을 드려야할 지 잘 모르겠는데 실제로 해보시면 코드가 저렇게밖에 안 됩니다.

빈프스님의 프로필 이미지
빈프스

작성한 질문수

질문하기