2023-09-02 TIL ( CS 공부 18일차 )

오준석·2023년 9월 2일
0

TIL (Today I Learned)

목록 보기
84/105

TIL

< Computer Science 18일차 >

JWT, Refresh, Access Token이란?

키워드:

  • JWT (JSON Web Token)
  • Refresh Token
  • Access Token
  • 인증
  • 보안

단답형
JWT는 JSON 기반의 토큰으로 Stateless한 인증에 주로 사용되며, 세 부분(Header, Payload, Signature)으로 구성됩니다. Access Token은 사용자 인증에 사용되는 짧은 수명의 토큰이며, 만료될 경우 Refresh Token을 통해 새로운 Access Token을 발급받습니다. 이러한 토큰 기반 인증은 웹의 확장성을 높이고 다양한 클라이언트와의 통신에 적합합니다.

상세한 설명
JWT (JSON Web Token):

  • JWT는 웹 표준 (RFC 7519)으로 정의된 JSON 기반의 토큰입니다. 웹 개발에서는 주로 HTTP 헤더에 포함시켜 클라이언트와 서버 간에 안전하게 정보를 전송하는 데 사용됩니다.
  • JWT는 Header, Payload, Signature의 세 부분으로 구성됩니다. Payload에는 클레임(claim)이라는 토큰의 정보가 포함되어 있습니다.
  • 웹 개발에서 JWT는 주로 Stateless한 인증 메커니즘을 구현하는 데 사용됩니다. 즉, 서버는 사용자의 세션 상태를 저장하지 않기 때문에 확장성이 높아집니다.

Access Token:

  • Access Token은 사용자의 권한을 나타내는 짧은 수명의 토큰입니다. 웹 애플리케이션에서는 사용자가 로그인한 후 서버로부터 받은 Access Token을 사용하여 인증 및 권한 확인을 수행합니다.
  • 대부분의 경우, Access Token은 JWT 형식을 사용하여 발급됩니다. 이 토큰은 일정 시간 후에 만료되므로 주기적으로 갱신이 필요합니다.

Refresh Token:

  • Refresh Token은 Access Token을 갱신하기 위한 긴 수명의 토큰입니다. 웹 개발에서는 Access Token이 만료되었을 때 사용자에게 다시 로그인을 요청하는 대신 Refresh Token을 사용하여 새로운 Access Token을 발급받습니다.
  • 이 방식을 사용하면 서버에 불필요한 로그인 요청의 부하를 줄일 수 있습니다.

이러한 토큰 기반 인증 방식이 RESTful API를 구축하거나 Single Page Application (SPA)와 같은 현대 웹 애플리케이션에서 중요한 역할을 합니다. 토큰 기반 인증은 상태를 저장하지 않기 때문에 서버의 확장성을 높이고, 다양한 클라이언트 (웹, 모바일, 데스크톱)와의 통신에 적합합니다.

profile
개발자를 목표로 열심히 하려고 합니다.

0개의 댓글