23.11.12 12:08 작성
·
308
1
signToken(user: Pick<UsersModel, 'email' | 'id'>, isRefreshToken: boolean) {
const payload = {
email: user.email,
sub: user.id,
type: isRefreshToken ? 'refresh' : 'access',
};
return this.jwtService.sign(payload, {
secret: JWT_SECRET,
// seconds
expiresIn: isRefreshToken ? 3600 : 300,
});
}
async rotateToken(token: string, isRefreshToken: boolean) {
const decoded = this.jwtService.verify(token, {
secret: JWT_SECRET,
});
if(decoded.type !== 'refresh'){
throw new UnauthorizedException('토큰 재발급은 Refresh 토큰으로만 가능합니다!');
}
return this.signToken({
...decoded,
}, isRefreshToken);
}
토큰 생성 시 payload에서 sub에 user.id를 할당하고 있는데 재발급시 decoded 객체를 그대로 할당하면 sub 정보가 사라지지 않나요?
2024. 03. 03. 18:24
해당 질문자님의 버그 발견으로 인해 complete 옵션이 추가 된게 맞나요 ?!
강의 보고 개인 프로젝트에 적용중에 이상이 없는데 질문 사항에 버그가 있다는걸 알게 됬는데 어디부분이 버그인지를 모르겠네요...