[TIL]JWT, Refresh, Access Token

Cherry Jin·2024년 2월 7일
0

sparta_내배캠

목록 보기
49/53
post-thumbnail

JWT(JSON Web Token), Access Token, 그리고 Refresh Token은 웹이나 앱 서비스에서 인증과 권한 부여를 처리하는 데 사용되는 중요한 개념이다.

JWT (JSON Web Token)

JWT는 사용자 인증에 널리 사용되는 개방형 표준(RFC 7519)이다. 이는 사용자의 인증 정보를 JSON 객체 형태로 안전하게 전송하기 위한 방법을 제공한다. JWT는 header, payload, signature의 세 부분으로 구성되어 있다. header는 토큰의 타입과 해싱 알고리즘 정보를 포함한다. payload는 클레임(사용자에 대한 정보나 메타데이터)을 포함한다. signature는 토큰이 변조되지 않았음을 검증하는 데 사용된다. JWT는 서버와 클라이언트 간의 상태를 유지하지 않는 HTTP 환경에서 사용자 인증 정보를 관리하는 데 유용하다.

Access Token

Access Token은 인증된 사용자가 서버의 자원에 접근할 수 있는 권한을 부여받았음을 증명하는 토큰이다. 일반적으로 로그인 과정에서 인증 서버로부터 발급받으며, 사용자가 서버의 특정 자원에 접근하고자 할 때 헤더에 포함하여 요청과 함께 전송된다. Access Token은 유효 기간이 짧은 것이 특징이며, 만료되면 새로 발급받아야 한다. 이 토큰은 종종 JWT 형식으로 제공되며, 서버는 이를 검증하여 요청이 유효한 사용자로부터 왔는지 확인한다.

Refresh Token

Refresh Token은 Access Token과 함께 발급되며, Access Token이 만료되었을 때 새로운 Access Token을 요청하기 위해 사용된다. Refresh Token은 일반적으로 Access Token보다 훨씬 긴 유효 기간을 가지며, 이를 통해 사용자가 자주 로그인하는 불편함 없이 서비스를 지속적으로 이용할 수 있다. 사용자나 애플리케이션은 Access Token이 만료되었을 때, 인증 서버에 Refresh Token을 제출하고 새로운 Access Token을 받는다. 이 과정을 통해 보안을 강화하면서도 사용자 경험을 저해하지 않는 방식으로 인증 상태를 유지할 수 있다.

JWT, Access Token, 그리고 Refresh Token은 모두 현대 웹 애플리케이션에서 안전한 인증과 권한 부여를 위해 필수적인 요소이다.

profile
풀스택이 되버린 주니어 개발자

0개의 댓글