Skip to content

Commit

Permalink
Fix: 로그인 API 코드 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
gkdudans committed Nov 30, 2024
1 parent 7fdf84d commit d718521
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ public class AuthController {
@Operation(summary = "로그인 성공", description = "카카오 로그인에 성공합니다.")
@GetMapping("/success")
public ResponseEntity<?> loginSuccess(@Valid LoginResponseDto loginResponseDto, HttpServletResponse response){
//여기서 쿠키 저장
return ResponseEntity.ok(loginResponseDto);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,17 @@ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletRespo
String accessToken = tokenProvider.generateAccessToken(authentication);
response.addHeader("Authorization", "Bearer " + accessToken);

// refreshToken 발급 및 쿠키에 저장
String refreshToken = tokenProvider.generateRefreshToken(memberId, kakaoId);
cookieUtil.addCookieAndSetDomain(response, REFRESH_TOKEN_COOKIE_NAME, refreshToken,
CookieUtil.REFRESH_TOKEN_MAX_AGE, "http://localhost:3000");
tokenProvider.generateRefreshToken(memberId, kakaoId);
cookieUtil.addCookie(response, REFRESH_TOKEN_COOKIE_NAME, refreshToken,
CookieUtil.REFRESH_TOKEN_MAX_AGE);

// refreshToken Redis에 저장
tokenProvider.saveRefreshToken(kakaoId, refreshToken);

// 리다이렉트 URL 설정 및 accessToken 전달
String redirectUrl = UriComponentsBuilder.fromUriString(SUCCESS_URI)
.queryParam("accessToken", accessToken)
Expand Down
10 changes: 10 additions & 0 deletions auth/src/main/java/org/bookwoori/auth/global/utils/CookieUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,16 @@ public void addCookie(HttpServletResponse response, String name, String value, i
response.addCookie(cookie);
}

public void addCookieAndSetDomain(HttpServletResponse response, String name, String value, int maxAge, String domain) {
Cookie cookie = new Cookie(name, value);
cookie.setHttpOnly(true);
cookie.setSecure(true);
cookie.setPath("/");
cookie.setMaxAge(maxAge);
cookie.setDomain(domain);
response.addCookie(cookie);
}

public Cookie getCookie(HttpServletRequest request, String name) {
if (request.getCookies() != null) {
return Arrays.stream(request.getCookies())
Expand Down

0 comments on commit d718521

Please sign in to comment.