'언젠가 읽기' 컨텐츠는 논문이나 영문 컨텐츠 등 언젠가 읽으려고 즐겨찾기 하고선
읽지 않고 계속 미룰만한 컨텐츠를 읽고 요약하거나 소개합니다.
인증 및 권한 부여. OAuth 2.0, OpenID Connect 및 SSO. 파트 1
JWT(JSON Web Token)
JWT(JSON 웹 토큰)는 RFC 7519에서 정의된 오픈 스탠다드로, JSON 객체로 정보를 양 당사자 사이에서 안전하게 전송하는 컴팩트하고 자급적인 방법을 정의합니다. JWT에 포함된 정보는 디지털 서명이 되어 있기 때문에 검증되고 신뢰할 수 있습니다.
클라이언트-서버 상호 작용에서 JWT는 인증과 인가를 위한 목적으로 일반적으로 사용됩니다. 서버는 비밀 키로 서명된 토큰을 생성하여 클라이언트에게 전송합니다. 클라이언트는 이 토큰을 사용하여 진위 여부를 확인하고, 신원을 확인하며, 보호된 리소스에 접근할 수 있습니다.
토큰의 종류
-
액세스 토큰 : 보호된 리소스에 대한 액세스 키로, 보통 수명이 짧습니다. 이를 통해 보호된 엔드포인트에 대한 요청을 인증하고 인가할 수 있습니다.
-
리프레시 토큰 : 더 긴 수명을 가지며, 현재 액세스 토큰이 만료된 후 새로운 액세스 토큰을 요청하는 데 사용됩니다. 이를 통해 사용자는 재인증 없이 지속적인 액세스를 유지할 수 있습니다.
JWT의 주요 장점
JWT의 큰 장점 중 하나는 발행한 서버에 다시 요청하지 않고도 클라이언트 측에서 공개 키를 사용하여 토큰을 검증할 수 있다는 것입니다. 이는 클라이언트 애플리케이션에서 활성 세션 정보를 저장할 필요가 없으며, 성능과 확장성을 향상시킬 수 있습니다.
또한, 토큰 자체에 사용자 정보(페이로드)를 포함할 수 있어 추가적인 데이터베이스 조회 없이도 필요한 정보를 추출할 수 있습니다.
함께 읽으면 좋은 참고 자료
-
"OAuth 2.0과 OpenID Connect 이해하기"
-
"인증과 인가의 기초"
-
"SSO(Single Sign-On)의 개념과 활용 방법"