inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

nodebird-api코드 질문입니다

343

wdhgood123

작성한 질문수 13

0

exports.verifyToken = (req, res, next) => {
  try {
    req.decoded = jwt.verify(req.headers.authorization, process.env.JWT_SECRET);
    return next();
  } catch (error) {
    if (error.name === 'TokenExpiredError') {
      return res.status(419).json({
        code: 419,
        message: '토큰이 만료되었습니다',
    });
    }
    return res.status(401).json({
      code: 401,
      message: '유효하지 않은 토큰입니다',
    });
  }
}

토큰을 검사하는 미들웨어 입니다

req.decode가 어떻게 생성되는지 궁금합니다. 

또 jwt.verify함수가 토큰을 검사하는 함수로 알고있는데 토큰이 유효하다면 토큰을 req.decode에 넣는것인가요?

그리고

const result = await axios.get('http://localhost:8002/v1/test', {
      headers: { authorization: req.session.jwt },
  });

axois.get 요청에 headers에 authorization부분에 세션을 넣던데

authorization 넣는 이유가 따로 있을까요? 

router.get('/posts/my', verifyToken, (req, res) => {
  Post.findAll({ where: { userId: req.decoded.id } })
    .then((posts) => {
      console.log(posts);
      res.json({
        code: 200,
        payload: posts,
      });
    })
    .catch((error) => {
      console.error(error);
      return res.status(500).json({
        code: 500,
        message: '서버 에러',
      });
    });
});

이 부분에서 posts는 Post모델의 배열로 나오는데 그 앞에서 선언되지 않았음에도 불구하고 쓰던데 따로 규칙같은게 있나요?

users면 User모델의 배열이라던가 등등...

 

 

 

 

nodejs mongodb mysql Sequelize

답변 1

0

제로초(조현영)

req.decode가 어떻게 생성되는지 궁금합니다. 

또 jwt.verify함수가 토큰을 검사하는 함수로 알고있는데 토큰이 유효하다면 토큰을 req.decode에 넣는것인가요?

- req.decoded 속성 값으로 토큰을 넣는 겁니다. 어떻게 생성되냐는 질문은 제가 이해를 못 하겠습니다.

 

axois.get 요청에 headers에 authorization부분에 세션을 넣던데

authorization 넣는 이유가 따로 있을까요? 

- 세션을 넣는게 아니라 토큰을 넣는 겁니다. 인증 토큰은 authorization 헤더에 넣습니다.

 

이 부분에서 posts는 Post모델의 배열로 나오는데 그 앞에서 선언되지 않았음에도 불구하고 쓰던데 따로 규칙같은게 있나요?

- 여러 개를 찾는 쿼리면 배열이고 하나만 찾는 쿼리면 하나의 객체로 나옵니다. 이름만 봐도 알 수 있습니다. findAll, findOne...

0

wdhgood123

그렇다면 findAll쿼리을 쓰면 posts가 저절로 생성된다는 말씀이신가요?

0

제로초(조현영)

배열 안에 찾은 포스트들을 넣어서 리턴하는 것입니다 

리눅스 노드 설치시 패키지

0

172

0

socket.js 에서 referer로부터 roomId를 가져올 때

0

932

3

스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문

0

2297

2

a[title] 질문드립니다

0

388

1

리뉴얼 강의 및 공부 방법

0

590

1

jwt decode

0

1138

1

node.js 교과서 3판 질문드립니다

0

398

1

passport와 jwt

0

439

1

리뉴얼 강의

0

428

2

혹시 Node.js 교과서 3판 이북은 언제 나오나요?

0

359

1

몽고디비 사용자도 MYSQL부분을 들어야 하나요???

0

491

1

sql 쿼리 로그는 어떤 모듈이 작성하나요?

0

512

2

nunjucks res.render('error'); 작동을 안합니다.

0

520

1

질문있습니다.

0

349

1

multer 한글 파일 업로드시 파일명이 깨져요.

1

3545

1

수업자료는 어디있나요?

0

374

1

질문 있습니디

0

245

1

multer 사용시 file 외 name값은 못받나용?

0

431

1

코드 중복 부분 질문드립니다.

0

303

1

api 만드는 이유 질문드립니다.

0

293

1

Strategy의 done에 대해 질문드립니다.

0

374

1

안녕하세요 fs 권한 관련 질문드립니다

0

456

1

시퀄라이즈 연결질문...

0

511

2

res.setHeader vs res.cookie

0

1799

3