TIL. JWT(Json Web Token)

jeong_hyeon·2022년 3월 22일
0

TIL

목록 보기
16/22

ACCES TOKEN을 생성하는 기술

클라이언트와 서버 서비스와 서비스 사이 권한 인가 를 위해 사용하는 토큰 이다.

URL에 대해 안전한 문자열로 구성이 되어있어 HTTP어디든 위치할수 있다.(URL,Header등)


HEADER.PAYLOAD.SIGNATURE

해더(HEADER), 페이로드(PAYLOAD), 서명(SIGNATURE) 세부분을 점으로 구분하는 구조이다.

  1. Header

    1. JWT를 검증하는데 필요한 정보를 가진곳
    2. alg는 서명시 사용하는 알고리즘이고 typ는 타입이다.
    3. kid도 있다고는 하는데 일단 kid는 서명시 사용하는 키를 식별하는 값이다.
  2. Payload

    1. JWT의 내용
    2. 페이로드에 있는속성을 클레임 셋(Clamim Set)이라고 부른다.
    3. 클레임셋은 JWT에 대한 내용(토큰 생성자(클라이언트)정보, 생성일시등)이나 클라이언트와 서버간 주고 받기로한 값들로 구성된다.
  3. Signature

    1. 점(.)을 구분해서 헤더와 페이로드를 합친 문자열을 서명한 값
    2. 서명은 헤더의 alg에 정의된 알고리즘과 비밀키를 이용해 생성하고 Base64 URL-Safe 로 인코딩한다.

이렇게 완성된 JWT는 헤더의 alg, kid 속성과 공개 키를 이용해 검증할 수 있다. 서명 검증이 성공하면 JWT의 모든 내용을 신뢰할 수 있게되고, 페이로드의 값으로 접근 제어나 원하는 처리를 할 수 있게된다.

0개의 댓글