JWT(Json Web Token)는 인터넷에서 정보를 안전하게 전송하기 위한 인증 방식 중 하나입니다. JWT는 JSON 형식으로 데이터를 저장하며, 데이터의 무결성을 보장하기 위해 디지털 서명이 포함 됩니다.
JWT는 사용자 인증 정보를 안전하게 전송하기 위해 사용됩니다. 예를 들어, 사용자가 로그인을 하면 서버에서 JWT를 발급하고, 이 JWT를 사용하여 사용자 인증 정보를 안전하게 전송할 수 있습니다. 이후 사용자가 다시 서버에 접속할 때는, JWT를 사용하여 사용자 인증을 확인할 수 있습니다.
JWT는 다음과 같은 구성 요소로 이루어져 있습니다.
Header: JWT에 대한 메타 정보가 포함됩니다. 대표적인 예로는 알고리즘 정보 등이 있습니다.
Payload: JWT에 저장될 정보가 포함됩니다. 대표적인 예로는 사용자 ID, 권한 정보 등이 있습니다.
Signature: JWT의 무결성 을 보장하기 위한 디지털 서명이 포함됩니다. 서명은 Secret Key를 사용하여 생성되며, 이를 통해 JWT가 변조되지 않았는지 검증할 수 있습니다.
JWT는 세션과 유사한 역할을 수행할 수 있지만, 세션과 달리 JWT는 서버의 메모리를 사용하지 않습니다. 따라서, 서버 확장성이 더욱 용이하며, 사용자가 다른 서버로 이동해도 인증 정보를 유지할 수 있습니다.
출처
공식문서 https://jwt.io/introduction