2017-12-28 4 views
0

사용자 로그인/가입에 JWT를 사용하고 있으며 토큰을 보내고받는 것에 대한 질문이 있습니다.JWT 토큰을 보내려면?

현재 토큰을 서버에서 시작하는 JSON 개체의 속성으로 저장하고 있습니다. 그런 다음이를 프런트 엔드에 보냅니다. 클라이언트가 오브젝트를 수신하면 토큰을 쿠키로 저장합니다. 클라이언트에서 서버로 보내는 모든 POST 요청에는 본문에 토큰 속성이 있고 서버의 응답에는 토큰이 속성으로 포함됩니다.

괜찮습니까? 아니면 토큰을 요청/응답의 헤더로 보내야합니까?

사용 : 쿠키에 JWT 토큰을 저장 (+ DOM), 자바 스크립트, 익스프레스, Node.js를

답변

3

반응은 충분하다. 요청 본문의 토큰으로 보내거나 응답으로 리턴 할 필요는 없습니다.

좋은 연습

  1. 모드 http-only와 쿠키

    스토어 JWT와 is-secure: true 그래서 자바 스크립트는이 토큰을 볼 수 없습니다 만 HTTPS 보안 계층을 사용하여 토큰을 전송합니다.

  2. 모든 Ajax 요청에 사용자 지정 요청 헤더를 추가하고이 헤더를 백엔드에서 검증하여 crsf 공격을 시도하십시오.

+1

굉장, 고마워. – helloitsian

0

안녕하세요.이 사람들은 같은 상황에있는 사람들을 위해 더 많은 정보를 추가하기 위해이 포스트에 다시 왔습니다.

당신이 당신의 가져 오기 옵션

credentials: 'same-origin' 

를 추가, 백엔드에 요청을 보낼 가져 오기 확인 사용/보내는 서버에/쿠키를 받기 위해 객체. 쿠키를 보내거나 받기 위해 노드 백엔드 코드에 cookieParser를 사용했습니다. 적어도 http-only로 만들고 필요하거나 원하는 다른 보안 옵션을 포함 시키십시오.

관련 문제