반응형

인증 2

[Kotlin] Refresh Token을 Redis에 저장하는 코드 작성 및 고찰

인증 방법에는 토큰을 이용하는 방식, 세션을 이용하는 방식이 존재한다. 나는 주로 토큰을 이용하는 방식을 선호하는데 그 이유는 아래와 같다. 세션 기반 인증은 쿠키를 사용해야 한다. 그러나 쿠키는 네이티브 앱에서 지원하지 않고 브라우저에서만 사용할 수 있다. 다중 WAS 환경에서 세션은 동기화 이슈가 존재한다. 따라서 확장성이 낮다. sticky session, session clustering 등 다양한 방법이 존재하지만, 토큰 방식은 이러한 점을 고려할 필요가 없다. 물론 토큰 방식은 별도의 구현이 좀 더 필요하지만, 한 번 구현해놓으면 어렵지 않고 편리하게 이용가능하기 때문에 큰 거부감이 없는 편이다. 토큰 방식의 인증은 또 두 가지 방법으로 나뉜다. Access Token만을 이용하는 방식과 Re..

[Spring] 인증 토큰을 생성하는 JwtTokenProvider를 알아보고 테스트를 작성해보자

그동안 미루고 미루어왔던 JwtTokenProvider에 대해 알아보고, 테스트 코드를 작성하는 법을 작성하려 한다. JwtTokenProvider는 로그인 인증 과정을 처리할 때 반드시 필요한 access Token을 생성해주는 역할을 한다. 이 JwtTokenProvider는 @Configuration 어노테이션으로 스프링 빈으로 관리되고 있는 ArgumentResolver이나 Interceptor에서 사용되고 있기 때문에 @Component 어노테이션으로 스프링 빈 등록을 해주어야 한다. 특히 인터셉터에서 HttpServletRequest로 토큰을 추출해주고, 아규먼트 리졸버에서 토큰값으로 payload를 가져오는 역할을 해주기 때문에 JwtTokenProvider의 역할은 매우 중요하다. JwtT..

반응형