티스토리 뷰

개발

[개발]JWT 갱신 토큰 관리 방법(1)

마왕슬라임 2023. 7. 3. 21:55
728x90

갱신 토큰(refresh token)은 사용자가 로그인한 후에 주로 액세스 토큰(access token)을 갱신하기 위해 사용됩니다. 이러한 갱신 토큰은 보통 만료 시간이 오래 걸리거나 만료되지 않게 설정됩니다. 사용자가 로그아웃하거나 세션을 종료할 때까지 유효한 토큰을 제공하는 것이 목표입니다.

갱신 토큰을 관리하는 방법은 여러 가지가 있습니다. 아래에 몇 가지 일반적인 방법을 설명하겠습니다.

1. 데이터베이스에 저장: 이 방법은 갱신 토큰을 데이터베이스에 저장하고, 토큰을 이용해 액세스 토큰을 갱신할 때마다 데이터베이스를 조회하여 토큰의 유효성을 확인하는 방법입니다. 이 방법은 갱신 토큰이 탈취당했을 경우, 토큰을 데이터베이스에서 삭제함으로써 무효화할 수 있다는 장점이 있습니다.

2. 블랙리스트 사용: 이 방법은 갱신 토큰이 만료되거나 사용자가 로그아웃했을 때 갱신 토큰을 블랙리스트에 추가하는 방식입니다. 액세스 토큰을 갱신할 때마다 블랙리스트를 확인하여 유효성을 검사합니다.

3. 로컬 스토리지 또는 쿠키에 저장: 클라이언트 측에서 갱신 토큰을 저장하고 필요할 때마다 서버에 전송하여 액세스 토큰을 갱신하는 방식입니다. 이 방법은 간단하고 구현이 쉽지만, 토큰이 탈취당하는 보안 위험이 있습니다. 따라서 이 방식을 사용할 때는 반드시 HTTPS를 사용하고, 가능한 경우 HttpOnly와 Secure 옵션을 사용하는 등 보안을 철저히 고려해야 합니다.

이러한 방법 외에도 사용자, 시스템, 보안 요구사항에 따라 갱신 토큰을 관리하는 데 맞는 방법을 선택할 수 있습니다. 가장 중요한 것은 토큰이 탈취당하더라도 시스템이나 사용자 데이터가 위험에 노출되지 않도록 하는 것입니다. 그렇기 때문에 갱신 토큰을 관리하고 보안하는 것은 매우 중요합니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함