개발일지/Spring
Spring boot Jwt 토큰의 정보를 가져오는 방법
E-room
2023. 1. 1. 19:33
728x90
클라이언트 측에서 Header에 Jwt 토큰을 실어 보내면 해당 정보를 볼 수 있는 방법을 간단하게 알아보겠습니다.
커스텀 애너테이션
@Login이라는 커스텀 애너테이션을 만들어서 UserDetails 객체에 받아온다
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.PARAMETER)
@AuthenticationPrincipal
public @interface Login {
}
@GetMapping
public void getJwtEmailTest(@Login UserDetails userDetails) {
System.out.println("@Login : " + userDetails.getUsername());
}
@AuthenticationPrincipal 애너테이션
@AuthenticationPrincipal 애너테이션을 이용하여 정보를 UserDetails 객체에 받아온다
@GetMapping
public void getJwtEmailTest(@AuthenticationPrincipal UserDetails userDetails) {
System.out.println("@AuthenticationPrincipal : " + userDetails.getUsername());
}
SecurityContextHolder
@GetMapping
public void getJwtEmailTest() {
String jwtEmail = SecurityContextHolder.getContext().getAuthentication().getName();
System.out.println("SecurityContextHolder : " + jwtEmail);
}
결과
728x90