From 45c796ca4a4e2339be501a7ebb1e31567178d264 Mon Sep 17 00:00:00 2001 From: DinoDeveloper Date: Mon, 3 Jun 2024 15:20:59 +0900 Subject: [PATCH] =?UTF-8?q?verify=20api=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/auth/controller/AuthController.java | 16 ++++++++++++---- .../example/demo/domain/user/domain/User.java | 1 + .../demo/global/auth/jwt/JwtTokenProvider.java | 3 ++- .../security/filter/JwtAuthenticationFilter.java | 1 - .../security/userdetails/CustomUserDetails.java | 2 +- 5 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/example/demo/domain/auth/controller/AuthController.java b/src/main/java/com/example/demo/domain/auth/controller/AuthController.java index 11d0456..095ff03 100644 --- a/src/main/java/com/example/demo/domain/auth/controller/AuthController.java +++ b/src/main/java/com/example/demo/domain/auth/controller/AuthController.java @@ -4,14 +4,15 @@ import com.example.demo.domain.auth.dto.SignInReq; import com.example.demo.domain.auth.dto.SignUpReq; import com.example.demo.domain.auth.service.AuthService; +import com.example.demo.global.security.userdetails.CustomUserDetails; import lombok.AccessLevel; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.security.core.annotation.AuthenticationPrincipal; +import org.springframework.web.bind.annotation.*; +@Slf4j @RestController @RequestMapping("api/v1/auth") @RequiredArgsConstructor(access = AccessLevel.PROTECTED) @@ -29,4 +30,11 @@ public ResponseEntity signUp(@RequestBody SignUpReq request) { return ResponseEntity.ok(authService.signUp(request)); } + + @GetMapping("/verify") + public ResponseEntity verify(@AuthenticationPrincipal CustomUserDetails userDetails){ + log.warn("userDetails : {}", userDetails.getUsername().toString()); + + return ResponseEntity.ok("반갑습니다! " + userDetails.getUsername() + "님!"); + } } diff --git a/src/main/java/com/example/demo/domain/user/domain/User.java b/src/main/java/com/example/demo/domain/user/domain/User.java index 810510b..589b457 100644 --- a/src/main/java/com/example/demo/domain/user/domain/User.java +++ b/src/main/java/com/example/demo/domain/user/domain/User.java @@ -27,5 +27,6 @@ public User(Long id, String username, String password, String nickName, String e this.password = password; this.nickName = nickName; this.email = email; + this.authority = Authority.ROLE_ADMIN; } } \ No newline at end of file diff --git a/src/main/java/com/example/demo/global/auth/jwt/JwtTokenProvider.java b/src/main/java/com/example/demo/global/auth/jwt/JwtTokenProvider.java index 37c999d..34eb21f 100644 --- a/src/main/java/com/example/demo/global/auth/jwt/JwtTokenProvider.java +++ b/src/main/java/com/example/demo/global/auth/jwt/JwtTokenProvider.java @@ -89,7 +89,8 @@ public Claims getClaimsFromRefreshToken(String refreshToken){ } public Authentication getAuthentication(Claims claims) { - UserDetails userDetails = userDetailsService.loadUserById(Long.parseLong(claims.getId())); + UserDetails userDetails = userDetailsService.loadUserByUsername(claims.get("sub", String.class)); + log.info("{}", userDetails); return new UsernamePasswordAuthenticationToken(userDetails, "", userDetails.getAuthorities()); } diff --git a/src/main/java/com/example/demo/global/security/filter/JwtAuthenticationFilter.java b/src/main/java/com/example/demo/global/security/filter/JwtAuthenticationFilter.java index 099b2d9..afbaf9d 100644 --- a/src/main/java/com/example/demo/global/security/filter/JwtAuthenticationFilter.java +++ b/src/main/java/com/example/demo/global/security/filter/JwtAuthenticationFilter.java @@ -32,7 +32,6 @@ protected void doFilterInternal(HttpServletRequest request, String token = jwtTokenProvider.parseJwtFromRequest(request); if (token != "") { try { - log.info("JwtAuthenticationFilter 도착"); Claims claims = jwtTokenProvider.getClaimsFromAccessToken(token); Authentication authentication = jwtTokenProvider.getAuthentication(claims); SecurityContextHolder.getContext().setAuthentication(authentication); diff --git a/src/main/java/com/example/demo/global/security/userdetails/CustomUserDetails.java b/src/main/java/com/example/demo/global/security/userdetails/CustomUserDetails.java index 5e3d6e6..ed3730e 100644 --- a/src/main/java/com/example/demo/global/security/userdetails/CustomUserDetails.java +++ b/src/main/java/com/example/demo/global/security/userdetails/CustomUserDetails.java @@ -37,7 +37,7 @@ public String getPassword() { @Override public String getUsername() { - return null; + return this.user.getUsername(); } /*