28. JWT 토큰 만들어서 응답하기
by 볼빵빵오춘기JwtAuthenticationFilter.java - successfulAuthentication() - 구현부 코드 추가
@Override
protected void successfulAuthentication(HttpServletRequest request, HttpServletResponse response, FilterChain chain, Authentication authResult) throws IOException, ServletException {
System.out.println("successfulAuthentication run - 인증 완료");
PrincipalDetails principalDetails = (PrincipalDetails) authResult.getPrincipal();
// JWT토큰은 라이브러리를 통해 아래코드와 같이 적어 만든다.
// 기본적으로 빌드업패턴이다. 아래와같이
// RSA방식은 아니고 Hash암호방식
String jwtToken = JWT.create()
//.withSubject(principalDetails.getUsername())
.withSubject("cos토큰")
.withExpiresAt(new Date(System.currentTimeMillis()+(60000)*10)) // 토큰 만료시간. (60000)*10 => 10분 , 1/1000초이기 때문에 60000은 1분을 의미
.withClaim("id", principalDetails.getUser().getId())
.withClaim("username", principalDetails.getUser().getUsername())
.sign(Algorithm.HMAC512("cos"));
response.addHeader("Authorization","Bearer "+jwtToken);
// super.successfulAuthentication(request, response, chain, authResult);
}
실행결과
/login 에 정확한 아이디와 비번을 raw에 json으로 넣은 후 send하면 header에 Authorization 이 들어가져있다.
'강의 따라하기 > JWT' 카테고리의 다른 글
29. JWT토큰 서버 구축 완료 (0) | 2024.08.25 |
---|---|
27. JWT를 위한 강제 로그인 진행 (0) | 2024.08.25 |
26. 회원가입 로직 누락 (0) | 2024.08.25 |
25. JWT를 위한 로그인 시도 (0) | 2024.08.25 |
24. JWT 임시 토큰 만들어서 테스트 해보기 (0) | 2024.08.25 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기