본문 바로가기

면접준비

JWT, Refresh, Access Token에 대해서 설명해주세요

JWT( JSON Web Token)은 웹 표준으로 정의된 토큰 형식 중 하나이며, 주로 사용자 인증을 위해 사용됩니다. Refresh Token과 Access Token은 인증 및 보안 관련 작업에 사용되는 특별한 종류의 토큰입니다.

1. JWT (JSON Web Token):

  • 정의: JWT는 클레임(claim) 정보를 JSON 형식으로 인코딩하여 안전하게 전달하기 위한 토큰입니다.
  • 구조: Header.Payload.Signature로 이루어져 있으며, Header에는 토큰 유형과 해시 알고리즘, Payload에는 클레임 정보, Signature에는 서명이 들어 있습니다.
  • 용도:
    • 인증: 사용자의 식별 정보를 담고 있어, 클라이언트가 서버에 대한 인증을 할 수 있습니다.
    • 정보 교환: 서로 다른 시스템 간에 정보를 안전하게 교환할 때 사용됩니다.

2. Access Token:

  • 정의: 사용자가 인증되었음을 증명하고, 특정 리소스에 접근할 수 있는 권한을 가진 토큰입니다.
  • 특징: 주로 짧은 유효 기간을 가지며, 주로 서버에서 발급하고 클라이언트에서 사용합니다.
  • 용도: 서버로부터 리소스를 요청할 때, 해당 리소스에 접근 권한을 얻기 위해 사용됩니다.

3. Refresh Token:

  • 정의: Access Token이 만료되었을 때 새로운 Access Token을 발급받기 위한 토큰입니다.
  • 특징: 일반적으로 더 긴 유효 기간을 가지며, Access Token이 만료되면 이를 사용하여 새로운 Access Token을 요청합니다.
  • 용도: Access Token이 만료되거나 갱신이 필요할 때 사용되어 보안을 유지하면서 사용자의 로그인 상태를 지속시킵니다.

동작 과정:

  1. 사용자 로그인 시, 서버는 Access Token과 함께 Refresh Token도 발급합니다.
  2. Access Token을 사용하여 API에 접근합니다.
  3. Access Token이 만료되면 Refresh Token을 사용하여 서버에서 새로운 Access Token을 발급받습니다.
  4. Refresh Token도 만료되면 사용자는 다시 로그인해야 합니다.

이러한 토큰 시스템은 보안적인 측면과 사용자 경험 측면에서 효과적으로 동작합니다. Access Token은 유효 기간이 짧아 보안을 강화하고, Refresh Token은 장기적으로 로그인 상태를 유지함으로써 사용자 경험을 향상시킵니다.

 
 

JWT( JSON Web Token)은 웹 표준으로 정의된 토큰 형식으로, 사용자 인증을 위해 클레임 정보를 안전하게 전달하는데 사용됩니다. Access Token은 사용자의 인증 및 특정 리소스 접근 권한을 증명하는 토큰이며, 주로 짧은 유효 기간을 가집니다. Refresh Token은 Access Token이 만료되었을 때 새로운 Access Token을 발급받기 위한 토큰으로, 일반적으로 더 긴 유효 기간을 가집니다. 이 시스템은 보안을 강화하고 사용자 경험을 향상시키는 데에 효과적으로 활용됩니다.