본문 바로가기

JWT4

[Vue / JWT] Refresh Token으로 Access Token 재발급 Refresh Token으로 Access Token 재발급프로젝트에서 Access Token만으로 작동하면 여러 보안적으로 안 좋은 문제가 많이 생길 수 있는 것을 깨달아서 Refresh Token을 추가하였고, 이로 인해서 Access Token이 만료되면 Refresh Token을 가지고 재발급하는 로직이 필요했습니다. 그래서 검색하고 찾아본 결과 제가 이전에 사용했던 Jwt Token을 같이 보내는 Config 파일의 코드에서 추가적으로 작업이 필요했습니다.🏷️ 사용 코드import axios from "axios";import { useAuthStore } from "../store/authStore";import router from "../router/router";const apiClien.. 2025. 12. 13.
[Spring / JWT] RefreshToken과 적용 RefreshToken Refresh Token은 Access Token을 재발급할 때 사용하는 키입니다. Access Token이 긴 만료 시간을 가지게 되면, 탈취당하여 악의적인 공격에 사용될 수 있습니다. 이를 해결하기 위해서 Access Token의 만료 시간을 짧게 유지하고, 상대적으로 긴 만료 시간을 가지는 Refresh Token을 통해 Access Token을 재발급받음으로써 사용자가 로그아웃 없이 로그인 상태를 유지할 수 있게 하여 해결합니다. ✔️ JWT의 설명은 여기에서 확인 가능합니다.🏷️ Access Token만 사용시 문제점JWT를 이용해서 프로젝트를 진행 했었는데 그 당시에는 JWT에 대해 이해도 부족하여 AccessToken만을 사용하고 만료 시간을 길게 사용했지만 이 선택.. 2025. 12. 13.
[Axios / Vue / Pinia] Axios를 사용할 때, JWT token 정보와 같이 요청하는 방법 Axios를 사용할 때, JWT token 정보와 같이 요청하는 방법프로젝트를 진행하면서 Vue를 사용하게 되었는데, 이때 JWT를 사용하여 Spring으로 요청을 보내면서 토큰을 같이 보내야 했습니다. 그래서 요청 헤더에 토큰을 넣어서 보내야 하는 방법이 필요하게 되었습니다. 그래서 찾아본 결과 Vue의 Pinia를 통해서 토큰을 관리하고 요청을 보낼 때, 같이 보내는 방법을 사용하게 되었습니다.🏷️ 사용 코드import { defineStore } from "pinia";export const useAuthStore = defineStore('auth', { state: () => ({ token: localStorage.getItem('token') || '', userId: '', .. 2024. 10. 5.
[JWT] JWT 0.12.5 최신화 문제 해결 예전 공부할 때, 사용했던 JWT 및 Key 생성을 직접 사용해 보고 그때보다 좀 더 최신 버전을 사용하고 싶었습니다.public class JwtTokenUtils { // 토큰에서 username 가져옴 public static String getUserName(String token, String key) { return extractClaims(token, key).get("userName", String.class); } // 종료 시간 public static boolean isExpired(String token, String key) { Date expiredDate = extractClaims(token, key).getExpir.. 2024. 7. 20.