Thumbnail
개발 · 프로그래밍 웹 개발
Node.js에 TypeScript 적용하기(feat. NodeBird)
(4.3)
7개의 수강평 ∙ 192명의 수강생

29,700원

지식공유자 : 조현영
총 26개 수업˙총 5시간 16분
평생 무제한 수강
수료증 발급 강의
입문 초급 중급이상 대상
내 목록 추가 280 공유
조현영 프로필
serializeUser와 deserializeUser 에러나는 분들께
조현영 5달 전

passport 관련 타이핑이 또 업데이트 되었네요.

types/index.d.ts에 다음 코드를 추가하고

import IUser from '../models/user';
declare global {
    namespace Express {
        export interface User extends IUser {}
    }
}
passport/index.ts를 다음과 같이 바꾸세요.
passport.serializeUser((userdone=> {
    done(nulluser.id);
  });

  passport.deserializeUser<number>(async (iddone=> {
    try {
      const user = await User.findOne({
        where: { id },
      });
      if (!user) {
        return done(new Error('no user'));
      }
      return done(nulluser); // req.user
    } catch (err) {
      console.error(err);
      return done(err);
    }
 });
덤으로 req.user도 req.user!.toJSON() as User 할 필요 없게 되었습니다. 그냥 req.user 쓰시면 됩니다.
다른 댓글 보기(1)
조현영 프로필
타입스크립트@4.0, 익스프레스, 시퀄라이즈@6.0
조현영 11달 전

위 모듈들의 버전 업데이트로 강좌에서 동작하지 않는 부분을 해결하는 방법을 보너스 강좌(섹션4)에서 추가하였습니다.

추후 모듈이 업데이트되면 따라서 보너스 강좌에 계속 추가하도록 하겠습니다.

29,700원

내 목록 추가 280 공유
지식공유자 : 조현영
총 26개 수업˙총 5시간 16분
평생 무제한 수강
수료증 발급 강의
입문 초급 중급이상 대상
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의를
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스