Skip to content

Commit a846293

Browse files
committed
Comment: 주석 정리
1 parent 8d19d79 commit a846293

File tree

16 files changed

+84
-58
lines changed

16 files changed

+84
-58
lines changed

back/src/main/java/com/back/domain/user/controller/UserAuthController.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@
2222
import org.springframework.security.web.context.HttpSessionSecurityContextRepository;
2323
import org.springframework.web.bind.annotation.*;
2424

25+
/**
26+
* 사용자 인증/인가 관련 기능을 제공하는 REST 컨트롤러입니다.
27+
* - 회원가입 (/signup): 새로운 사용자를 등록합니다.
28+
* - 로그인 (/login): 이메일과 비밀번호를 이용해 인증 후 세션을 생성합니다.
29+
* - 게스트 로그인 (/guest): 비회원 사용자용 임시 계정을 생성하고 로그인 처리합니다.
30+
* - 현재 사용자 조회 (/me): 현재 인증된 사용자의 정보를 반환합니다.
31+
*/
2532
@RestController
2633
@RequestMapping("/api/v1/users-auth")
2734
@RequiredArgsConstructor
@@ -57,14 +64,16 @@ public ResponseEntity<ApiResponse<UserResponse>> login(
5764
}
5865

5966
@PostMapping("/guest")
60-
public ResponseEntity<ApiResponse<UserResponse>> guestLogin(HttpServletRequest request){
67+
public ResponseEntity<ApiResponse<UserResponse>> guestLogin(HttpServletRequest request, HttpServletResponse response){
6168
User savedGuest = guestService.createAndSaveGuest();
6269

6370
CustomUserDetails cud = new CustomUserDetails(savedGuest);
6471
Authentication auth = new UsernamePasswordAuthenticationToken(cud, null, cud.getAuthorities());
6572
SecurityContextHolder.getContext().setAuthentication(auth);
6673

6774
request.getSession(true);
75+
new HttpSessionSecurityContextRepository()
76+
.saveContext(SecurityContextHolder.getContext(), request, response);
6877

6978
return ResponseEntity.ok(ApiResponse.success(UserResponse.from(savedGuest), "게스트 로그인 성공"));
7079
}

back/src/main/java/com/back/domain/user/dto/SignupRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
/**
99
* 사용자 회원가입 요청 시 필요한 정보를 담는 DTO 클래스.
10-
* 로그인 ID, 이메일, 비밀번호, 닉네임, 생년월일, 성별, MBTI, 가치관 등을 포함합니다.
10+
* 로그인 ID, 이메일, 비밀번호, 사용자 이름, 닉네임, 생년월일을 포함합니다.
1111
*/
1212
public record SignupRequest(
1313

back/src/main/java/com/back/domain/user/dto/UserResponse.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55

66
import java.time.LocalDateTime;
77

8+
/**
9+
* 사용자 정보를 클라이언트에 반환하기 위한 응답 DTO입니다.
10+
*/
811
public record UserResponse(
912
Long id,
1013
String email,

back/src/main/java/com/back/domain/user/service/GuestService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
import java.util.UUID;
1111

1212
/**
13-
* 게스트 계정을 DB에 저장합니다.
14-
* 고유한 loginId/email을 생성하고 ROLE_GUEST로 저장합니다.
13+
* 게스트 사용자 계정을 생성하고 DB에 저장하는 서비스 클래스입니다.
14+
* 고유한 email을 생성하고 GUEST로 저장합니다.
1515
*/
1616
@Service
1717
@RequiredArgsConstructor

back/src/main/java/com/back/domain/user/service/UserService.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
import java.util.Optional;
1515

1616
/**
17-
* 사용자 관련 비즈니스 로직을 처리하는 서비스.
18-
* 사용자 회원가입, 정보 조회 등의 기능을 제공합니다.
17+
* 사용자 관련 비즈니스 로직을 처리하는 서비스입니다.
18+
* 회원가입(signup), 소셜 로그인 사용자 등록/갱신(upsertOAuthUser)
1919
*/
2020
@Service
2121
@RequiredArgsConstructor
@@ -78,7 +78,7 @@ public User upsertOAuthUser(String email, String nickname, AuthProvider provider
7878
return userRepository.save(user);
7979
}
8080

81-
// 닉네임 유니크 보장 메서드
81+
// 유니크 닉네임 생성
8282
private String safeUniqueNickname(String base) {
8383
if (base == null || base.isBlank()) base = "user";
8484
String nick = base;
@@ -93,6 +93,7 @@ private String safeUniqueNickname(String base) {
9393
return nick;
9494
}
9595

96+
// 이메일로부터 username 생성
9697
private String defaultUsernameFromEmail(String email) {
9798
String local = (email != null && email.contains("@")) ? email.substring(0, email.indexOf('@')) : "user";
9899
String candidate = local.replaceAll("[^a-zA-Z0-9._-]", "");

back/src/main/java/com/back/global/config/CorsConfig.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88

99
import java.util.List;
1010

11+
/**
12+
* 애플리케이션의 CORS(Cross-Origin Resource Sharing) 정책을 설정하는 구성 클래스입니다.
13+
*/
1114
@Configuration
1215
public class CorsConfig {
1316
@Bean

back/src/main/java/com/back/global/config/PasswordEncoderConfig.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
import org.springframework.security.crypto.factory.PasswordEncoderFactories;
66
import org.springframework.security.crypto.password.PasswordEncoder;
77

8+
/**
9+
* 비밀번호 암호화를 위한 Spring Security 설정 클래스입니다.
10+
* - PasswordEncoder Bean을 등록하여 서비스/시큐리티 전반에서 비밀번호 암호화에 사용합니다.
11+
*/
812
@Configuration
913
public class PasswordEncoderConfig {
1014

back/src/main/java/com/back/global/security/CsrfCookieFilter.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99

1010
import java.io.IOException;
1111

12+
/**
13+
* CSRF 토큰을 강제로 한 번 꺼내도록 해서 브라우저 응답에 XSRF-TOKEN 쿠키가
14+
* 반드시 포함되도록 보장하는 보조 필터입니다.
15+
*/
1216
public class CsrfCookieFilter extends OncePerRequestFilter {
1317
@Override
1418
protected void doFilterInternal(HttpServletRequest req, HttpServletResponse res, FilterChain chain)

back/src/main/java/com/back/global/security/CustomLogoutSuccessHandler.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
import java.io.IOException;
1515
import java.util.Map;
1616

17+
/**
18+
* 로그아웃 성공 시 JSON 응답을 내려주는 커스텀 핸들러입니다.
19+
*/
1720
@Component
1821
@RequiredArgsConstructor
1922
@Slf4j

back/src/main/java/com/back/global/security/CustomUserDetailsService.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
import org.springframework.stereotype.Service;
1010

1111
/**
12-
* Spring Security에서 사용자 인증을 위해 사용자 정보를 로드하는 서비스.
12+
* 스프링 시큐리티가 인증 시 사용자 정보를 불러올 때 호출하는 서비스입니다.
13+
* 이 서비스는 AuthenticationManager가 로그인 시도를 처리할 때
14+
* UserDetailsService.loadUserByUsername()를 자동으로 호출합니다.
1315
*/
1416
@Service
1517
@RequiredArgsConstructor

0 commit comments

Comments
 (0)