JPA
[JPA] JWT를 사용한 로그인 인터셉터 만들기
Song hyun
2024. 10. 25. 09:28
728x90
반응형
[JPA] JWT를 사용한 로그인 인터셉터 만들기
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String jwt = request.getHeader(Define.AUTHORIZATION);
if(jwt == null || jwt.startsWith((Define.BEARER)){
throw new Exception401("JWT 토큰을 전달해주세요");
}
jwt = jwt.replace(Define.BEARER,"");
try {
User sessionUser = jwtUtil.verify(jwt);
request.setAttribute(Define.SESSION_USER, sessionUser);
return true;
} catch (TokenExpiredException e){
throw new Exception401("토큰 만료 시간이 지났습니다. 다시 로그인하세요.");
} catch (JWTDecodeException e){
throw new Exception401("유효하지 않은 토큰입니다.");
} catch (Exception e){
throw new Exception500("서버 오류 : "+e.getMessage());
}
}
728x90
반응형