cat 에서
const tokenResult = await axios.post('http://localhost:8002/v1/token', {
clientSecret: process.env.CLIENT_SECRET,
});
일부로 없는 client_secret으로 응답했을때
const domain = await Domain.findOne({
where: { clientSecret },
include: {
model: User,
attribute: ['nick', 'id'],
},
});
if (!domain) {
return res.status(401).json({
code: 401,
message: '등록되지 않은 도메인입니다. 먼저 도메인을 등록하세요',
});
}
여기서 domian null값찍히고 res.status(401).json으로 응답 받구
POST /v1/token 401 38.669 ms - 100
찍히는거 확인했습니다.
GET /test 500 54.443 ms - 575
근데 여기서 500애러를 바로 떨궈버리는데 맞는건가요??
else { // 토큰 발급 실패
return res.json(tokenResult.data); // 발급 실패 사유 응답
}
여기가 언제걸리는지 궁금합니다.
그리고 cat에서
router.get('/test', async (req, res, next) => { // 토큰 테스트 라우터
try {
if (!req.session.jwt) { // 세션에 토큰이 없으면 토큰 발급 시도
const tokenResult = await axios.post('http://localhost:8002/v1/token', {
clientSecret: process.env.CLIENT_SECRET,
});
if (tokenResult.data && tokenResult.data.code === 200) { // 토큰 발급 성공
req.session.jwt = tokenResult.data.token; // 세션에 토큰 저장
} else { // 토큰 발급 실패
return res.json(tokenResult.data); // 발급 실패 사유 응답
}
}
// 발급받은 토큰 테스트
const result = await axios.get('http://localhost:8002/v1/test', {
headers: { authorization: req.session.jwt },
});
return res.json(result.data);
} catch (error) {
console.error(error);
if (error.response.status === 419) { // 토큰 만료 시
return res.json(error.response.data);
}
return next(error);
}
});
여기서 응답했을때 nodebirdapi에서
if(error.name == 'TokenExpiredError'){
return res.status(419).json({
code : 419,
message:'토큰이 만료되었습니다.'
});
}
return res.status(401).json({
code : 401,
message:'유효하지 않은 토큰입니다.'
});
res.status.400번대인애들은
바로 catch에 걸리는건가요?
return res.json(tokenResult.data); // 발급 실패 사유 응답
그럼 얘는 의미없는거 아닌가하고 질문드립니다.