JWT, JSON Web Token

JWT의 클레임은 JWS (JSON Web Signature) 구조의 페이로드 또는 JWE (JSON Web Encryption) 구조의 일반 텍스트로 사용되는 JSON 객체로 인코딩되고, 클레임을 MAC (Message Authentication Code)으로 디지털 서명을 하거나 무결성을 보호하거나 암호화 할 수 있다. (http://bit.ly/1Spxog6)

표준 JSON 웹 토큰 클레임

  • iss: (issuer) 토큰 발급자. 누가 토큰을 만들었는지를 나타내며, 많은 경우 인가 서버의 URL이 이 클레임의 값으로 설정된다. 이 클레임은 단일 문자열값이다.
  • sub: (subject) 토큰의 대상. 누구를 위한 토큰인지를 나타내며, 많은 경우 리소스 소유자를 위한 고유한 식별자가 이 클레임의 값으로 설정된다. 대부분의 경우, 이 클레임 값은 토큰 발급자의 범위 내에서만 고유하기만 하면 된다. 이 클레임은 단일 문자열값이다.
  • aud: (audience) 토큰 수신자. 누구에게 토큰이 전달되는 것인지를 나타내며, 많은 경우 보호된 리소스의 URL 또는 토큰을 전달받을 수 있는 보호된 리소스들의 URL이 이 클레임의 값으로 설정된다. 이 클레임은 문자열 배열 또는 하나의 값만 설정해야 하는 경우에는 문자열값이다.
  • exp: (expiration) 토큰의 만료 시간. 언제 토큰이 만료되는지를 나타낸다. 이 클레임은 유닉스 에폭(GMT 시간 기준으로 1970년 1월 1일 자정부터의 경과 시간을 초로 환산한 정수값) 시간값이다.
  • nbf: 토큰의 not-before 타임. 토큰이 유효해지기 전에 발급되는 경우. 언제 토큰이 유효해지기 시작하는지를 나타낸다. 이 클레임은 유닉스 에폭 시간값이다.
  • iat: (issued-at) 토큰이 발급된 시간. 토큰이 언제 생성되었는지를 나타내며 일반적으로 토큰 발급자가 토큰을 생성한 시점의 시스템 시간이 서정된다. 이 클레임은 유닉스 에폭 시간값이다.
  • jti: (unique identifier) 토큰 식별자. 토큰 발급자가 생성한 토큰의 고유한 식별자값이며 값이 충돌되는 것을 방지하기 위해 암호학적인 랜덤 값이 주로 이용된다. 공격자가 알기 힘든 임의의 엔트로피를 구조화된 토큰에 추가함으로써 토큰 값을 유추하거나 토큰 재사용을 방지하는 데 유용하게 사용될 수 있다.
  • open/jwt.txt
  • Last modified: 2024/10/05 06:15
  • by 127.0.0.1