JWT

JSON Web Token”의 약자입니다.

JWT는 두 당사자 간에 보안 정보를 공유하는 업계 표준 토큰입니다. JWT는 크기가 작고 URL에서 안전하게 사용할 수 있으므로, 웹 서버와 클라이언트가 HTTPS 요청의 일부로 JWT를 주고받을 수 있습니다. JWT는 일반적으로 싱글 사인온(SSO) 서비스를 통해 웹사이트 또는 웹 앱에 로그인한 사용자를 인증하는 데 사용됩니다.

JWT는 다음 세 부분으로 구성됩니다:

  • 헤더에는 토큰의 유형과 서명을 생성하는 데 사용된 알고리즘에 관한 정보가 포함됩니다.
  • 페이로드에는 토큰이 제시하는 클레임 목록이 포함됩니다. 이러한 클레임에는 일반적으로 토큰 발급자, 토큰을 사용하는 웹사이트 또는 웹 앱, 사용자에 관한 정보가 포함됩니다. 또한 토큰이 발급된 시간과 만료되는 시간도 포함되며, 두 시간 모두 에포크 시간을 사용합니다. 이러한 일반적인 값 외에도 JWT에는 토큰을 발급하는 웹사이트 또는 웹 앱에 고유한 임의의 클레임이 포함될 수 있습니다.
  • 서명은 토큰이 발급된 후 변조되지 않았는지 확인합니다.

웹사이트와 웹 앱은 사용자를 인증하는 상태 비저장 방식으로 JWT를 사용하는 경우가 많습니다. 이 방식에서는 서버가 메모리데이터베이스세션을 유지할 필요가 없으므로 사용자마다 필요한 처리 부담이 줄어듭니다. 대신 클라이언트와 서버는 각 HTTPS 요청과 함께 JWT를 서로 주고받고, 서명을 확인하여 토큰이 변경되지 않았는지 검사합니다. JWT가 만료되면 새 JWT가 발급되도록 사용자가 다시 로그인해야 합니다.

JWT 만들기

JWT의 헤더와 페이로드는 모두 JSON으로 작성된 텍스트로 구성됩니다. 헤더와 페이로드는 각각 base64라는 알고리즘을 사용해 별도로 인코딩되며, 여러 줄의 텍스트가 하나의 문자열로 변환됩니다. 인코딩된 헤더 문자열과 페이로드 문자열은 '.' 문자로 구분하여 결합합니다.

헤더와 페이로드를 인코딩하여 문자열로 결합한 다음 해시 처리하고 서명으로 사용합니다
헤더와 페이로드를 인코딩하여 문자열로 결합한 다음 해시 처리하고 서명으로 사용합니다

인코딩된 헤더와 페이로드가 포함된 결합 문자열은 해시 알고리즘과 비밀 키를 사용해 다시 한 번 인코딩되어 서명이 생성됩니다. 그런 다음 서명을 헤더와 페이로드 끝에 추가하고, 또 다른 '.' 문자로 구분하여 최종 JWT를 만듭니다.

업데이트됨 May 11, 2023 작성: Brian P.

quiz지식 테스트하기

Companies like Fastly, Cloudflare, and Akamai deliver content via what?

A
Edge servers
0%
B
Virtual hosts
0%
C
Cellular towers
0%
D
Satellites
0%
Correct! Incorrect!     View the Edge Server definition.
More Quizzes →

Tech Terms 컴퓨터 사전

이 페이지의 JWT에 대한 정의는 TechTerms.com의 저자가 작성한 원본 정의입니다. 이 페이지를 참조하거나 이 정의를 인용하려면 정의 바로 아래에 있는 녹색 인용 표시줄을 사용하세요.

저희의 목표는 컴퓨터 용어를 이해하기 쉬운 방식으로 설명하는 것입니다. 게시하는 모든 정의에서 정확성과 간결함을 추구합니다. 이 정의에 대한 피드백이 있거나 새로운 기술 용어를 제안하고 싶으시면 문의해 주세요.

Tech Terms 뉴스레터

매일 또는 매주 발행되는 뉴스레터로 기술 지식을 향상시키세요! 지금 구독하고 새로운 용어와 퀴즈를 이메일로 받아보세요.

무료 TechTerms 뉴스레터 구독하기

이메일을 얼마나 자주 받고 싶으신가요?

각 이메일에 포함된 링크를 통해 언제든지 구독을 취소하거나 수신 빈도를 변경할 수 있습니다. 질문이 있으신가요? 문의해 주세요.

참고: 뉴스레터는 영어로 발송됩니다.