해결된 질문
작성
·
514
0
안녕하세요, 현재 강의 를 듣고 있는 수강생입니다.
BearerTokenGuard를 작성하고, 토큰 유효기간이 지난 경우에 대해서도
테스트 상황을 가정하여 전날 만들어둔 access token을 authorization header에 넣어
테스트 해보았습니다. 그런데 verifyToken api에 try,catch문이 없어서 500 코드의 에러가 발생하더라구요.
그래서 일단 401 error를 내는게 맞는것 같아서 아래와 같이 작성을 했는데, verify의 결과가 무조건 토큰이
만료된 경우 1가지인지 확실치 않아, 잘 작성된 코드인지 모르겠어서 질문 드립니다.
어떻게 예외처리 코드를 작성하면 좋을까요?
/*
해당 API는 토큰을 검증하는 API 입니다.
*/
verifyToken(token: string) {
try {
const result = this.jwtService.verify(token, {
secret: JWT_SECRET,
});
return result;
} catch (error) {
// to-do : 나중에 최적화
throw new UnauthorizedException('만료된 토큰입니다. 재발급해주세요');
}
}
답변 1
0
안녕하세요!
catch안에 error 객체의 메세지를 읽어보시면 상황별로 에러가 다르게 던져집니다.
아래 링크에 에러 정리도 따로 돼있습니다.
https://github.com/auth0/node-jsonwebtoken#errors--codes
감사합니다!
감사합니다!