2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

[백엔드] 기술 면접 Top30 - #18 JWT, Refresh, Access Token

2023. 9. 24. 11:29ㆍ[백엔드] 기술면접
반응형

JWT, Refresh, Access Token

웹 애플리케이션 및 API 인증 시스템

JWT
Refresh , Access Token

JWT ( JSON Web Token )

  • JWT는 JSON 포맷으로 인코딩된 토큰이며, 주로 인증 및 정보 교환에 사용된다.
  • JWT는 세 부분으로 이루어져 있다.
  • Header: 토큰의 종류와 해싱 알고리즘을 지정한다.
  • Payload: 클레임(claim) 정보를 포함하며, 사용자 정보 및 추가 데이터를 저장할 수 있다.
  • Signature: Header와 Payload를 인코딩한 후 비밀 키를 사용하여 서명한 값이다.
    이를 통해 토큰의 무결성을 검증할 수 있다.
  • JWT는 토큰 자체에 정보를 포함하므로, 별도의 서버 저장소에 상태를 저장할 필요가 없다.

Access Token

  • Access Token은 클라이언트 애플리케이션이 API에 접근하려고 할 때 사용되는 토큰이다.
  • 주로 OAuth 2.0 및 OpenID Connect와 같은 인증 및 권한 부여 프로토콜에서 사용된다.
  • Access Token은 보통 JWT 또는 간단한 문자열로 구성된다.
    이 토큰을 사용하여 API에 요청을 보내고, 요청의 유효성을 검증한다.
  • Access Token의 수명은 짧게 유지되며, 보안을 강화하기 위해 주기적으로 갱신해야 한다.

Refresh Token

  • Refresh Token은 Access Token의 갱신을 위한 특별한 토큰이다.
  • Access Token은 보통 짧은 수명을 가지며, 보안을 강화하기 위해 자주 갱신해야 한다.
  • Refresh Token은 더 오래 유지되며, 클라이언트가 새로운 Access Token을 얻을 때 사용된다.
  • 주로 OAuth 2.0 인증 서버와 함께 사용되며, Access Token이 만료되었을 때 Refresh Token을 사용하여 새로운 Access Token을 얻을 수 다.
  • Refresh Token 역시 보안적으로 중요하며, 안전하게 보호되어야 한다.

요약

JWT는 데이터를 안전하게 전송하고 인증을 확인하는 데 사용되며,
Access Token은 API에 접근하는 데 필요한 토큰이며,
Refresh Token은 Access Token을 갱신하기 위한 특별한 토큰이다.
이러한 토큰들은 웹 및 모바일 애플리케이션에서 보안 및 인증을 관리하는 데 중요한 역할을 한다.

 

 

반응형