Skip to content

Commit

Permalink
Merge pull request #101 from Central-MakeUs/dev
Browse files Browse the repository at this point in the history
[Feature] access token으로 유저 조회하는 api 추가
  • Loading branch information
dainnida authored Feb 15, 2025
2 parents f255aba + 1f03d08 commit b7a6564
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,17 @@
import com.cmc.mercury.domain.user.entity.User;
import com.cmc.mercury.domain.user.response.UserTestRequest;
import com.cmc.mercury.domain.user.service.UserService;
import com.cmc.mercury.global.exception.CustomException;
import com.cmc.mercury.global.exception.ErrorCode;
import com.cmc.mercury.global.response.SuccessResponse;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;

@RestController
@RequestMapping("/api/users")
Expand Down Expand Up @@ -43,10 +45,20 @@ public SuccessResponse<User> refreshTestToken(@RequestBody UserTestRequest reque
return SuccessResponse.ok(userService.refreshTestToken(request));
}

@GetMapping
@Operation(summary = "사용자 리스트 조회", description = "모든 사용자의 정보를 조회합니다.")
public SuccessResponse<List<User>> getAllUsers() {
@GetMapping("/me")
@Operation(summary = "사용자 조회", description = "access token으로 사용자의 정보를 조회합니다.")
public SuccessResponse<User> getUserInfo(@RequestHeader("Authorization") String authorizationHeader) {

return SuccessResponse.ok(userService.getListUsers());
if (!StringUtils.hasText(authorizationHeader)) {
throw new CustomException(ErrorCode.EMPTY_ACCESS_TOKEN);
}

// Bearer prefix 제거
String accessToken = authorizationHeader;
if (accessToken.startsWith("Bearer ")) {
accessToken = accessToken.substring(7);
}

return SuccessResponse.ok(userService.getUser(accessToken));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@
import com.cmc.mercury.global.exception.ErrorCode;
import com.cmc.mercury.global.jwt.JwtProvider;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.transaction.Transactional;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

import java.util.List;

Expand Down Expand Up @@ -104,8 +106,12 @@ private void setTestUserTokens(User user, boolean isShortLivedAccessToken) {
response.addCookie(refreshTokenCookie);
}

public List<User> getListUsers() {
public User getUser(String accessToken) {

return userRepository.findAll();
// Access Token 검증
jwtProvider.validateToken(accessToken, "AccessToken");

// 유효성 검증이 완료된 토큰에서 user 추출
return jwtProvider.getUserFromToken(accessToken);
}
}

0 comments on commit b7a6564

Please sign in to comment.