2017-11-22 6 views
0

나는 json의 토큰을 저장하기 위해 jsonwebtoken (jwt)과 express-session을 NodeJS에서 사용하는 방법을 배우지 만, 그 주위에 머리를 감쌀 수는 없다.JWT 토큰을 세션에 저장하는 방법은 무엇입니까?

.then((result)=>{ 
    var token = jwt.sign({usertype: 'parent', id: result.id}, 'secret', {expiresIn: '1h'}); 
    // response with token 
    res.json({token: token}); 
}); 

위에서 볼 수 있듯이 나는 클라이언트 측에 토큰으로 응답 할 수 있지만 어떻게 토큰을 저장합니까?

두 설명서를 모두 읽었지만 여전히 이해할 수 없습니다. 내 요청에 세션을 사용하고 싶다면 서버 측에서 req.session으로 읽을 수 있지만 클라이언트 측에 저장하는 방법은 분명하지 않은 것 같습니다.

답변

0

죄송합니다. 귀하의 게시물에 대한 평판이 부족합니다. 왜 그것을 클라이언트 측에 저장하고 싶습니까? 당신은 쿠키를 사용하여 그것을 할 수 있지만, 나는 그것이 좋은 생각이 아니라고 생각합니다. 토큰이 한 시간 내에 만료되면 그냥 세션에 넣을 수 있습니다.

+0

나는 좋은 생각처럼 보이지 않지만 로그인하거나 새 계정을 만들면 사용자에게 토큰을 보낸 다음 사용자는 프로필 수정, 일부 API에서 정보 가져 오기, 비밀번호 변경 또는 계정 삭제와 같은 몇 가지 추가 요청을 보냅니다. 요청에 대한 사용자의 정보를 어떻게 확인할 수 있습니까? – Viet

+0

나는 최선의 해결책은 익스프레스가 API에 요청을하도록하는 것이므로 서버 측에서 요청에 토큰을 사용할 수 있다고 생각한다. 예를 들어 사용자/SOMEID/편집 익스프레스 라우트에서 사용자가 프로파일을 편집하려면 클라이언트에서 매개 변수 (이름, 성 등)를 게시하고이 매개 변수를 서버 측 (표현)에서 가져 와서 보내야합니다 세션에 저장된 토큰을 사용하여 귀하의 API에 그들 – Ciro

+0

당신의 제안에 감사드립니다. 내가 가진 문제는 토큰이 세션에 저장되지 않는다는 것입니다. 나는 머리글을 들여다 보았고 다른 사람들은 온라인에서 찾을 수있는 곳을 제안했지만 아무 것도 발견 할 수 없었다. – Viet