Skip to content

Commit d9de9ab

Browse files
committed
TEST: 테스트 계정용 임시 토큰 설정
1 parent f584707 commit d9de9ab

3 files changed

Lines changed: 25 additions & 0 deletions

File tree

src/main/java/com/server/running_handai/domain/member/controller/MemberController.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.server.running_handai.domain.member.dto.TokenRequestDto;
1010
import com.server.running_handai.domain.member.dto.TokenResponseDto;
1111
import com.server.running_handai.domain.member.service.MemberService;
12+
import io.swagger.v3.oas.annotations.Hidden;
1213
import io.swagger.v3.oas.annotations.Operation;
1314
import io.swagger.v3.oas.annotations.responses.ApiResponse;
1415
import io.swagger.v3.oas.annotations.responses.ApiResponses;
@@ -110,4 +111,12 @@ public ResponseEntity<CommonResponse<MemberInfoDto>> getMyInfo(
110111
return ResponseEntity.ok(CommonResponse.success(ResponseCode.SUCCESS, memberInfo));
111112
}
112113

114+
@Hidden
115+
@PutMapping("/temp-update")
116+
public ResponseEntity<CommonResponse<Void>> updateTestUserToken(@AuthenticationPrincipal CustomOAuth2User customOAuth2User) {
117+
Long memberId = customOAuth2User.getMember().getId();
118+
memberService.updateRefreshTokenForTestUser(memberId);
119+
return ResponseEntity.ok(CommonResponse.success(ResponseCode.SUCCESS, null));
120+
}
121+
113122
}

src/main/java/com/server/running_handai/domain/member/service/MemberService.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,4 +277,11 @@ public MemberInfoDto getMemberInfo(Long memberId) {
277277

278278
return MemberInfoDto.from(member, bookmarkInfo, myCourseInfo);
279279
}
280+
281+
@Transactional
282+
public void updateRefreshTokenForTestUser(Long memberId) {
283+
Member member = memberRepository.findById(memberId).orElseThrow(() -> new BusinessException(ResponseCode.MEMBER_NOT_FOUND));
284+
String longRefreshToken = jwtProvider.createLongLivedRefreshToken();
285+
member.updateRefreshToken(longRefreshToken);
286+
}
280287
}

src/main/java/com/server/running_handai/global/jwt/JwtProvider.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ public class JwtProvider {
2525
@Value("${jwt.refresh-expiration}")
2626
private Long refreshExpiration;
2727

28+
private static final long THIRTY_DAYS_IN_MS = 1000L * 60 * 60 * 24 * 30;
29+
2830
/**
2931
* Secret Key 객체를 생성합니다.
3032
* Base64로 인코딩된 Secret Key를 디코딩하여 HMAC 서명용 Secret Key 객체로 반환합니다.
@@ -62,6 +64,13 @@ public String createRefreshToken() {
6264
.compact();
6365
}
6466

67+
public String createLongLivedRefreshToken() {
68+
return Jwts.builder()
69+
.setExpiration(new Date(System.currentTimeMillis() + THIRTY_DAYS_IN_MS))
70+
.signWith(getSigningKey(), SignatureAlgorithm.HS256)
71+
.compact();
72+
}
73+
6574
/**
6675
* Jwt Token의 유효성(서명, 만료 등)을 검증합니다.
6776
*

0 commit comments

Comments
 (0)