inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

노드 리액트 기초 강의 #14 로그아웃 기능

로그아웃 실패 !?!?

272

Yeji Lee

작성한 질문수 3

1

로그아웃하면 결과값이

{
    "isAuth"false,
    "error"true
}
이렇게 나옵니다... 다른분이 질문한 것과 같은 결과인데 오류를 못잡겠습니다..
일단 이곳에서 부터 유저의 값은 null값으로 나오네여,,, 핳,, 어디가 잘못된 것일까요
userSchema.statics.findByToken = function(tokencb) {
    var user = this;
    // user._id + ''  = token
    //토큰을 decode 한다. 
    jwt.verify(token'secretToken'function (errdecoded) {
        //유저 아이디를 이용해서 유저를 찾은 다음에 
        //클라이언트에서 가져온 token과 DB에 보관된 토큰이 일치하는지 확인
        user.findOne({ "_id": decoded"token": token }, function (erruser) {
            if (errreturn cb(err);

            console.log('user'user)       //user 값이 null임 ㅜㅜ

            cb(nulluser)
        })
    })
}

nodejs react

답변 2

1

dksdudgns312

index.js에 res.cookie("x_auth"user.token)부분이 x_auth인지 x-auth인지 확인해세요

다른 질문글에도 똑같은 식으로 에러난걸 해결했길래

저도 확인해봤더니 x_auth가 x-auth라고 잘못써져있었어요.

x_auth가 맞아요

1

John Ahn

안녕하세요 ~ 
로그아웃관련된 부분 소스를 
나열해볼게요 ~ 


app.get('/api/users/logout', auth, (req, res) => {
// console.log('req.user', req.user)
User.findOneAndUpdate({ _id: req.user._id },
{ token: "" }
, (err, user) => {
if (err) return res.json({ success: false, err });
return res.status(200).send({
success: true
})
})
})

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();
})
}

userSchema.statics.findByToken = function(token, cb) {
var user = this;
// user._id + '' = token
//토큰을 decode 한다.
jwt.verify(token, 'secretToken', function (err, decoded) {
//유저 아이디를 이용해서 유저를 찾은 다음에
//클라이언트에서 가져온 token과 DB에 보관된 토큰이 일치하는지 확인
user.findOne({ "_id": decoded, "token": token }, function (err, user) {
if (err) return cb(err);
cb(null, user)
})
})
}

이 부분들인데  한번 오타있는지 체크해봐주세요 ~  ! 

깃 이메일이랑 비번이 필요하다고 하네요

0

34

1

404 에러

0

101

1

34강 인증 체크에서 element 사용 때문에 에러나시는 분들 이렇게 하심 됩니다.

0

118

1

로그인, 로그아웃, 토근 작동 안 함

0

237

0

9강 오류 어떻게 해결하나요?

0

193

1

localhost 에서 연결을 거부했습니다.

0

1923

4

포스트맨에서 true가 안떠요

0

150

1

왜 안되나요

0

128

1

몽고db 연결 오류가 납니다 위에껀 입력한 코드, 아래껀 터미널이에요

0

243

1

로그아웃 401 에러(Unauthorized)

0

502

2

암호가 해싱되지 않고 입력값 그대로 db에 저장되는 문제

0

148

1

7강중에서

0

162

2

User.findByToken is not a function

0

210

1

루트 디렉토리

0

268

1

useState

0

560

1

프록시 잘 설정했는데도 404 오류 뜨는 분들

5

874

6

webpack 관련 에러 질문

0

218

1

리액트 관련 질문

0

271

1

14강 로그아웃 안됨

0

317

1

mongoDB 데이터 확인하는 법

0

407

1

postman 에러

0

290

1

선생님 리덕스를 사용하면 어떠한 부분이 좋은지 알 수 있을까요?

0

232

1

다음과 같은 에러들이 발생합니다.

0

271

1

14강 로그아웃 기능 구현시 postman에서 Cannot POST 오류가 뜹니다.

0

378

1