JWT(JSON Web Token)
정보를JSON 객체
로 안전하게 전송하는 개방형 표준(RFC 7519)
JWT는 비밀(HMAC 알고리즘 사용)
또는RSA
또는 ECDAS를 사용하는 공개/개인 키 쌍을 사용하여 서명
내가 쓴게 맞는지 서명 된 토큰에 중점을 두고 있고, 무결성을 확인한다.
Header / payload / signature
JWT
는 header + payload + signature => 조합을 해서jwt
를 생성한다.- 이 때,
header,payload
를base64
로 인코딩하여 그 데이터를 합쳐hs256
방식 알고리즘으로 서명하여 무결성을 보장한다.- 이후에
jwt
값을 클라이언트의local storage
같은 곳에 저장하여 인증을 할 때,jwt
값을 같이 보낸다.jwt
의 목적은 그 토큰이 유효한가에 초점을 두고 있어, 이전에 발행한 값과 유효한지hs256
방식으로 검증한다.- 무결성을 확인하면
payload
에 등록된 사용자명을db
에서 찾아서 응답한다.