JWT (JSON Web Token)

wkdtmddus·2023년 8월 11일
0

JWT(JSON Web Token), Access Token, Refresh Token은 토큰 기반 인증 시스템에서 사용되는 요소들입니다. 이들은 사용자 인증과 권한 관리를 효율적으로 처리하기 위해 사용됩니다.


  • JWT(JSON Web Token) :

    JWT는 웹 표준으로서 데이터를 안전하게 전달하기 위한 간단한 방법을 정의합니다.
    JWT는 JSON 형식으로 인코딩된 토큰으로, 페이로드에 사용자 정보와 권한 정보를 담을 수 있습니다.
    JWT는 보안 서명(signature)을 포함하며, 이를 통해 데이터 무결성을 확인할 수 있습니다.
    주로 인증과 정보 교환을 위해 사용되며, 토큰의 내용을 확인할 수 있기 때문에 데이터를 보호할 수 있습니다.

  • Access Token :

    Access Token은 사용자를 인증하고 권한을 부여하기 위한 토큰입니다.
    클라이언트가 로그인한 후에 서버로부터 발급되며, 보통 짧은 유효 기간을 가집니다.
    서버에 API 요청을 할 때 Access Token을 포함시켜 인증 및 권한 검사를 수행합니다.
    주로 리소스에 대한 접근 권한을 확인하기 위해 사용됩니다.

  • Refresh Token :

    Refresh Token은 Access Token의 갱신을 위한 토큰입니다.
    Access Token의 유효 기간이 만료되면 Refresh Token을 사용하여 새로운 Access Token을 발급받을 수 있습니다.
    보통 Access Token보다 더 긴 유효 기간을 가지며, 보안 상의 이유로 클라이언트 측에서 저장되어야 합니다.
    Refresh Token은 사용자가 로그아웃하거나 장시간 사용하지 않을 경우에 만료될 수 있습니다.


사용 시나리오

사용자가 로그인하면 서버는 Access Token과 함께 Refresh Token을 발급합니다.
클라이언트는 API 요청 시 Access Token을 사용하여 인증을 진행합니다.
Access Token의 유효 기간이 만료되면 Refresh Token을 사용하여 새로운 Access Token을 발급받습니다.
사용자가 로그아웃하거나 Refresh Token의 유효 기간이 만료되면 인증이 종료됩니다.
이렇게 JWT, Access Token, Refresh Token을 조합하여 효율적인 사용자 인증과 권한 관리 시스템을 구축할 수 있습니다.


핵심 키워드

  • 토큰 동작방식
  • Access 토큰 탈취 시, Refresh 토큰이 어떤 방식으로 쓰이는 지

0개의 댓글