jwt
-
이번 포스트에서는 Redis를 이용한 세션 관리에 대해 살펴보자. scale up / scale out 인프라 업그레이드열심히 프로젝트를 진행하고 결과물이 잘 서비스되는 것을 바라보는 것은 매우 흐믓한 일이다. 그러다 사이트 이용자가 점점 많아지다 보면 한 번 씩 렉이 걸리기도 하고 처리에 시간이 걸리는 모습을 보다보면 숨이 턱턱 막힌다. 이럴 때 우리는 인프라의 업그레이드를 고민하게 된다. 인프라를 업그레이드하는 방법은 scale up 과 scale out 방식 두 개로 나룰 수 있다. scale upscale up은 보다 좋은 사양으로 대체하는 것이다. 기존의 장비에 CPU도 좋은 걸로 바꾸고 램도 추가하고 HDD도 더 큰걸로 달아준다. 이 방법은 성능을 증가시킴에 따라 상대적으로 큰 비용이 들게..
세션 관리이번 포스트에서는 Redis를 이용한 세션 관리에 대해 살펴보자. scale up / scale out 인프라 업그레이드열심히 프로젝트를 진행하고 결과물이 잘 서비스되는 것을 바라보는 것은 매우 흐믓한 일이다. 그러다 사이트 이용자가 점점 많아지다 보면 한 번 씩 렉이 걸리기도 하고 처리에 시간이 걸리는 모습을 보다보면 숨이 턱턱 막힌다. 이럴 때 우리는 인프라의 업그레이드를 고민하게 된다. 인프라를 업그레이드하는 방법은 scale up 과 scale out 방식 두 개로 나룰 수 있다. scale upscale up은 보다 좋은 사양으로 대체하는 것이다. 기존의 장비에 CPU도 좋은 걸로 바꾸고 램도 추가하고 HDD도 더 큰걸로 달아준다. 이 방법은 성능을 증가시킴에 따라 상대적으로 큰 비용이 들게..
2023.11.15 -
이번 포스트에서는 기존의 예제에 refresh token 개념을 추가해보자. Server Side 추가/수정 먼저 Server Side에서 추가 또는 수정해야 할 내용들이다. JwtUtil refresh token을 발행하기 위한 메서드를 추가한다. /** * Refresh 토큰을 생성한다 * 이때는 인증을 위한 정보는 유지하지 않고 유효기간을 auth-token의 5배로 잡았다. * @return */ public String createRefreshToken() { return create(null, "refreshToken", expireMin * 5); } UserService 로그인 시 auth-token과 함께 refresh-token도 생성한다. 이 정보는 사용자 계정과 함께 DB에 저장되는..
JWT를 이용한 인증 처리 6. Refresh Token 구현이번 포스트에서는 기존의 예제에 refresh token 개념을 추가해보자. Server Side 추가/수정 먼저 Server Side에서 추가 또는 수정해야 할 내용들이다. JwtUtil refresh token을 발행하기 위한 메서드를 추가한다. /** * Refresh 토큰을 생성한다 * 이때는 인증을 위한 정보는 유지하지 않고 유효기간을 auth-token의 5배로 잡았다. * @return */ public String createRefreshToken() { return create(null, "refreshToken", expireMin * 5); } UserService 로그인 시 auth-token과 함께 refresh-token도 생성한다. 이 정보는 사용자 계정과 함께 DB에 저장되는..
2022.05.05 -
이제까지 테스트를 통해서 검증했지만 그래도 클라이언트를 붙여봐야 웬지 동작이 잘 이해될것 같아서 화면을 만들고 동작을 테스트 해보자. 기억해줄 내용은 로그인 성공 후 @ResponseBody를 통해서 서버는 클라이언트에게 정보를 내려보내주고 클라이언트는 서버로 정보 요청 시 header에 jwt-auth-token이라는 이름으로 토큰을 전달해준다는 점이다. 클라이언트는 전달받은 토큰을 session storage에 저장해두자. 클라이언트 작성 화면 구성 간단한 화면 구성이고 ajax를 사용하기 위해서는 axios가 사용 되었다. jwt test 토큰 유효기간 상태 정보 이제 javascript 영역에서 이벤트를 처리하면서 ajax 요청을 처리해보자. javascript 처리 먼저 화면의 요소들을 설정하기..
JWT를 이용한 인증 처리 4이제까지 테스트를 통해서 검증했지만 그래도 클라이언트를 붙여봐야 웬지 동작이 잘 이해될것 같아서 화면을 만들고 동작을 테스트 해보자. 기억해줄 내용은 로그인 성공 후 @ResponseBody를 통해서 서버는 클라이언트에게 정보를 내려보내주고 클라이언트는 서버로 정보 요청 시 header에 jwt-auth-token이라는 이름으로 토큰을 전달해준다는 점이다. 클라이언트는 전달받은 토큰을 session storage에 저장해두자. 클라이언트 작성 화면 구성 간단한 화면 구성이고 ajax를 사용하기 위해서는 axios가 사용 되었다. jwt test 토큰 유효기간 상태 정보 이제 javascript 영역에서 이벤트를 처리하면서 ajax 요청을 처리해보자. javascript 처리 먼저 화면의 요소들을 설정하기..
2022.04.28 -
다음으로 JwtUtil을 사용할 UserService와 JwtInterceptor를 만들어보자.이번에 작성해볼 예제의 전체적인 동작은 아래와 같다.UserService에서는 인증된 사용자를 대상으로 /api/info를 통해서 어떤 정보를 반환하는 서비스를 한다. 이때 인증 체크를 위해서는 JwtInterceptor를 거치게 처리했다.각 단계별 동작은 아래와 같다./jwt/login을 호출한다. 이때는 인증이 필요 없으므로 Interceptor를 거치지 않는다.UserService를 통해서 로그인 가능한 사용자인지 확인한다.로그인 가능하다면 JWTUtil을 통해 토큰을 생성하고 반환한다.브라우저는 전달받은 토큰을 로컬의 브라우저에 저장한다./api/info를 호출하면서 토큰을 전달한다. 이 api는 인증이..
JWT를 이용한 인증 처리 3다음으로 JwtUtil을 사용할 UserService와 JwtInterceptor를 만들어보자.이번에 작성해볼 예제의 전체적인 동작은 아래와 같다.UserService에서는 인증된 사용자를 대상으로 /api/info를 통해서 어떤 정보를 반환하는 서비스를 한다. 이때 인증 체크를 위해서는 JwtInterceptor를 거치게 처리했다.각 단계별 동작은 아래와 같다./jwt/login을 호출한다. 이때는 인증이 필요 없으므로 Interceptor를 거치지 않는다.UserService를 통해서 로그인 가능한 사용자인지 확인한다.로그인 가능하다면 JWTUtil을 통해 토큰을 생성하고 반환한다.브라우저는 전달받은 토큰을 로컬의 브라우저에 저장한다./api/info를 호출하면서 토큰을 전달한다. 이 api는 인증이..
2022.04.28