-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
토큰 삭제 오류 질문
23.03.15 20:20 작성 조회수 511
0
포스트맨에서 success: true는 뜨는데 막상 DB로 들어가면 토큰이 여전히 남아있습니다.
findOneAndUpdate가 콜백함수를 지원하지 않아 then. catch로 수정해서 사용했는데 혹시 문법적 오류가 있어서 안 되는걸까요?
app.get('/api/users/logout', auth, (req, res) => {
User.findOneAndUpdate({ _id: req.user._id }, { token: "" })
.then(() => {
console.log(req.user._id);
res.status(200).send({success: true})
})
.catch((err)=>{
res.json({ success: false, err });
})
})
이렇게 수정을 했는데 토큰을 지우지 못합니다... 그리고 혹시나 해서
console.log(req.user._id')를해서 id를 읽어올 수 있는지 확인해봤는데 undefined라고 뜨더라고요... 어디서 오류가 나는 걸까요?
답변을 작성해보세요.
0
AHYUN
2023.04.05
app.get('/api/users/logout', auth, (req, res) => {
User.findOneAndUpdate({_id: req.user._id}, {token: ""})
.then(() => {
console.log(req.user._id);
res.status(200).send({ logoutSuccess:true })
})
.catch((err)=>{
return res.json({success:false, err})
});
})
//-----------------------------------------------------------------
const { User } = require('../models/User');
let auth = (req, res, next) => {
//인증 처리를 하는곳
//클라이언트 쿠키에서 토큰을 가져온다.
let token = req.cookies.x_auth;
// 토큰을 복호화 한후 유저를 찾는다.
User.findByToken(token, (err, user) => {
if (err) throw err;
if (!user) return res.json({ isAuth: false, error: true })
// console.log('userh', user)
req.token = token;
req.user = user;
next();
})
}
module.exports = { auth };
안녕하세요 위에 분처럼 then, catch로 수정하고 auth 코드를 강사님 코드 가져와 실행해봤지만 계속 req.user._id가 undefined이고 토큰이 안지워지는데 무엇이 문제일까요ㅠㅠ?
답변 1