diff --git a/src/main/java/onepiece/dailysnapbackend/object/dto/CustomOAuth2User.java b/src/main/java/onepiece/dailysnapbackend/object/dto/CustomOAuth2User.java index 3481cea..d539fc8 100644 --- a/src/main/java/onepiece/dailysnapbackend/object/dto/CustomOAuth2User.java +++ b/src/main/java/onepiece/dailysnapbackend/object/dto/CustomOAuth2User.java @@ -31,10 +31,6 @@ public Collection getAuthorities() { @Override public String getName() { - return member.getNickname(); - } - - public String getUsername() { return member.getUsername(); } diff --git a/src/main/java/onepiece/dailysnapbackend/object/dto/SignInRequest.java b/src/main/java/onepiece/dailysnapbackend/object/dto/SignInRequest.java index 0672e3a..ab4f55a 100644 --- a/src/main/java/onepiece/dailysnapbackend/object/dto/SignInRequest.java +++ b/src/main/java/onepiece/dailysnapbackend/object/dto/SignInRequest.java @@ -21,10 +21,6 @@ public class SignInRequest { @Schema(defaultValue = "example@naver.com") private String username; - @NotBlank(message = "accessToken을 입력하세요") - @Schema(defaultValue = "ya29.A0ARrdaMExampleAccessToken1234567890") - private String accessToken; - @Schema(description = "생년월일 (선택)", defaultValue = "2004-01-01") private String birth; diff --git a/src/main/java/onepiece/dailysnapbackend/service/MemberService.java b/src/main/java/onepiece/dailysnapbackend/service/MemberService.java index 2778d02..9fe4492 100644 --- a/src/main/java/onepiece/dailysnapbackend/service/MemberService.java +++ b/src/main/java/onepiece/dailysnapbackend/service/MemberService.java @@ -65,15 +65,17 @@ public void socialSignIn(SignInRequest request, HttpServletResponse response) { // 응답 헤더에 토큰 설정 response.setHeader("Authorization", "Bearer " + accessToken); - Cookie refreshTokenCookie = jwtUtil.createRefreshTokenCookie(refreshToken); - response.addCookie(refreshTokenCookie); - log.info("쿠키 설정: name={}, value={}, maxAge={}", - refreshTokenCookie.getName(), refreshTokenCookie.getValue(), - refreshTokenCookie.getMaxAge()); + try { + response.setContentType("application/json"); + response.getWriter().write(String.format("{\"refreshToken\": \"%s\"}", refreshToken)); + } catch (IOException e) { + log.error("리프레시 토큰 응답 작성 중 오류 발생", e); + throw new CustomException(ErrorCode.INTERNAL_SERVER_ERROR); + } - response.getHeaderNames().forEach(name -> - log.info("Response Header: {}={}", name, response.getHeader(name))); + log.info("accessToken 헤더 설정 및 refreshToken body 응답 성공: accessToken={}, refreshToken={}: ", accessToken, + refreshToken); } // 리프레시 토큰을 통해 액세스 토큰 재발급 diff --git a/src/main/java/onepiece/dailysnapbackend/util/JwtUtil.java b/src/main/java/onepiece/dailysnapbackend/util/JwtUtil.java index da1ee71..fd0881a 100644 --- a/src/main/java/onepiece/dailysnapbackend/util/JwtUtil.java +++ b/src/main/java/onepiece/dailysnapbackend/util/JwtUtil.java @@ -8,7 +8,6 @@ import io.jsonwebtoken.io.Decoders; import io.jsonwebtoken.security.Keys; import io.jsonwebtoken.security.SignatureException; -import jakarta.servlet.http.Cookie; import java.time.LocalDateTime; import java.util.Date; import java.util.concurrent.TimeUnit; @@ -109,7 +108,7 @@ public String getCategory(String token) { * @return */ public String createAccessToken(CustomOAuth2User customOAuth2User) { - log.info("엑세스 토큰 생성 중: 회원: {}", customOAuth2User.getUsername()); + log.info("엑세스 토큰 생성 중: 회원: {}", customOAuth2User.getName()); return createToken(ACCESS_CATEGORY, customOAuth2User, accessTokenExpTime); } @@ -120,7 +119,7 @@ public String createAccessToken(CustomOAuth2User customOAuth2User) { * @return */ public String createRefreshToken(CustomOAuth2User customOAuth2User) { - log.info("리프래시 토큰 생성 중: 회원: {}", customOAuth2User.getUsername()); + log.info("리프래시 토큰 생성 중: 회원: {}", customOAuth2User.getName()); return createToken(REFRESH_CATEGORY, customOAuth2User, refreshTokenExpTime); } @@ -134,9 +133,9 @@ public String createRefreshToken(CustomOAuth2User customOAuth2User) { private String createToken(String category, CustomOAuth2User customOAuth2User, Long expiredAt) { return Jwts.builder() - .subject(customOAuth2User.getUsername()) + .subject(customOAuth2User.getName()) .claim("category", category) - .claim("username", customOAuth2User.getUsername()) + .claim("username", customOAuth2User.getName()) .claim("role", customOAuth2User.getMember().getRole()) .claim("provider", customOAuth2User.getMember().getSocialPlatform()) .issuer(issuer) @@ -146,22 +145,6 @@ private String createToken(String category, CustomOAuth2User customOAuth2User, L .compact(); } - /** - * refreshToken Cookie 생성 - * - * @param refreshToken 리프레시 토큰 - * @return 생성된 쿠키 - */ - public Cookie createRefreshTokenCookie(String refreshToken) { - Cookie cookie = new Cookie("refresh_token", refreshToken); - cookie.setHttpOnly(true); - cookie.setSecure(false); - cookie.setPath("/"); - cookie.setMaxAge(Math.toIntExact(refreshTokenExpTime) / 1000); - cookie.setAttribute("SameSite", "Strict"); - return cookie; - } - /** * JWT 토큰 유효성 검사 *