JWT
JSON 형식의 데이터를 문자열로 인코딩한 토큰
- 토큰 자체에 대한 데이터 저장
(암호화에 사용된 알고리즘, 토큰형식 등이 저장된다.)
2. PayLoad
- 토큰이 실절적으로 저장하려는 정보
- 저장하고 싶은 데이터 종류의 제한 없음.
(만료시간(exp), 발급시간(iat), 토큰 고유값(jti), 유저아이디 등..)
- 최대한 짧고 꼭 필요한 내용만 간결하게 저장하는걸 권장
- 공식 이름 최대한 활용(exp,iat,jti)
=> 여러서비스에서 JWT토큰을 사용할때 같은 내용이 서로 다른 이름으로 있으면 문제가 생길 수 있기 때문.
3. Signature
- 토큰을 믿을 수 있는지 확인하기 위한 데이터 저장
header + payload + 시크릿키 정보가 합쳐져서 만들어진다.
❗ Header와 PayLoad 부분은 단순히 인코딩 된 거기 때문에 아무나 볼수있다.
=> 보안에 민감함 내용은 최대한 안 넣는게 좋다.