[기술면접] JWT, Refresh Token, Access Token
▶️ JWT, Refresh, Access Token에 대해서 설명해주세요.
JWT (JSON Web Token)
- JWT는 액세스 토큰의 한 형식으로 사용된다. JSON 형식을 기반으로 하며, 정보를 암호화하지 않고 토큰 내에 데이터를 저장한다.
- JWT는 클레임(claim)이라고 불리는 정보를 포함하며, 이는 주로 사용자 ID, 권한, 발행자, 만료 날짜 등을 포함한다.
- JWT는 디지털 서명을 통해 검증되며, 페이로드의 내용을 변경하면 서명이 유효하지 않게 됩니다.
Access Token (액세스 토큰)
- Access Token은 일반적으로 짧은 수명을 가지며, 애플리케이션이 서비스에 접근할 때 사용되는 토큰이다.
- 사용자를 인증하고 권한을 부여하며, 리소스 서버에 접근 권한을 부여하기 위해 사용된다.
- 보통 JWT 또는 Opaque Token으로 나타낼 수 있다.
Refresh Token (리프레시 토큰)
- Refresh Token은 일반적으로 Access Token의 수명이 만료되거나 재발급이 필요할 때 사용된다.
- 보통 더 긴 수명을 가지며, 안전하게 저장되어야 한다.
- 사용자가 로그인 상태를 유지하며, Access Token이 갱신될 때 사용된다.
- 주로 OAuth 2.0에서 사용되며, Access Token을 발급하는 서버로부터 새로운 Access Token을 얻을 때 Refresh Token을 제출한다.