Skip to content

Commit

Permalink
[fix] 로그인
Browse files Browse the repository at this point in the history
  • Loading branch information
ehyeok9 committed Nov 29, 2024
1 parent b56ac3a commit 5694d6c
Show file tree
Hide file tree
Showing 7 changed files with 33 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
// 로그인 요청은 Fillter 검사에서 제외됨
.requestMatchers(
"/auth/apple/token",
"/jwt/refresh",
"/auth/apple/test",
"/swagger-ui/**",
"/v3/api-docs/**",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@

import com.whh.findmuseapi.common.constant.ResponseCode;
import com.whh.findmuseapi.common.util.ApiResponse;
import com.whh.findmuseapi.jwt.dto.RefreshTokenResponse;
import com.whh.findmuseapi.jwt.dto.RefreshTokenDto;
import com.whh.findmuseapi.jwt.service.JwtService;
import com.whh.findmuseapi.user.entity.User;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import lombok.RequiredArgsConstructor;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
Expand All @@ -19,9 +18,8 @@ public class JwtController {
private final JwtService jwtService;

@PatchMapping("/refresh")
public ApiResponse<RefreshTokenResponse> reIssueRefreshToken(@AuthenticationPrincipal User user) {
String refreshToken = jwtService.reIssueRefreshToken(user);
return ApiResponse.createSuccess(ResponseCode.RESOURCE_CREATED, new RefreshTokenResponse(refreshToken));
public ApiResponse<RefreshTokenDto> reIssueRefreshToken(@RequestBody RefreshTokenDto refreshTokenDto) {
return ApiResponse.createSuccess(ResponseCode.RESOURCE_CREATED, jwtService.reIssueRefreshToken(refreshTokenDto));
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.whh.findmuseapi.jwt.dto;


import lombok.Builder;

@Builder
public record RefreshTokenDto(
String refreshToken
) {}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import com.whh.findmuseapi.common.constant.ResponseCode;
import com.whh.findmuseapi.common.exception.CBadRequestException;
import com.whh.findmuseapi.common.exception.CUnAuthorizationException;
import com.whh.findmuseapi.jwt.dto.RefreshTokenDto;
import com.whh.findmuseapi.jwt.property.JwtProperties;
import com.whh.findmuseapi.user.entity.User;
import com.whh.findmuseapi.user.repository.UserRepository;
Expand All @@ -21,6 +22,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Slf4j
@Getter
Expand Down Expand Up @@ -175,10 +177,22 @@ public void reIssueAccessToken(HttpServletResponse response, String refreshToken
* @param user
* @return reIssuedRefreshToken
*/
@Transactional
public String reIssueRefreshToken(User user) {
String reIssuedRefreshToken = createRefreshToken();
user.updateRefreshToken(reIssuedRefreshToken);
userRepository.saveAndFlush(user);
return reIssuedRefreshToken;
}

@Transactional
public RefreshTokenDto reIssueRefreshToken(RefreshTokenDto refreshTokenDto) {
User user = userRepository.findByRefreshToken(refreshTokenDto.refreshToken())
.orElseThrow(() -> new CBadRequestException("유저를 찾을 수 없습니다."));

String refreshToken = reIssueRefreshToken(user);
return RefreshTokenDto.builder()
.refreshToken(refreshToken)
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,10 @@ public void updateRefreshToken(String updatedRefreshToken) {
public void updateNickname(String nickname) {
this.nickname = nickname;
}

public void updateIsOnboardingFinished() {
this.isOnboardingFinished = true;
}

public void updateLocation(String location) {
this.location = location;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public void registerProfileNickname(User user, UserProfile.NicknameRequest nickn
if (userRepository.existsByNickname(nicknameRequest.nickname())) throw new CBadRequestException("존재하는 닉네임입니다.");

user.updateNickname(nicknameRequest.nickname());
user.updateIsOnboardingFinished();
user.authorizeUser();
}

Expand Down

0 comments on commit 5694d6c

Please sign in to comment.