Skip to content

Commit 525826c

Browse files
authored
Fix: 로그인이 무조건 성공하는 에러 수정 (#24)
* build: .gitignore 업데이트 * build: OAuth2 의존성 추가 * style: DTO 클래스 이름 변경 * feat: 카카오 로그인 기능 추가 * feat: 네이버 로그인 구조 잡기 * fix: 로그인이 무조건 성공하는 오류 수정 * chore: remove unused imports
1 parent 39be3fc commit 525826c

File tree

4 files changed

+16
-2
lines changed

4 files changed

+16
-2
lines changed

src/main/java/org/example/siljeun/domain/auth/dto/request/SignUpRequest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
public record SignUpRequest(String email,
77
String username,
88
String password,
9+
String name,
910
String nickname,
1011
Role role,
1112
Provider provider) {

src/main/java/org/example/siljeun/domain/auth/service/AuthService.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.example.siljeun.domain.auth.service;
22

3+
import java.util.NoSuchElementException;
34
import lombok.RequiredArgsConstructor;
45
import org.example.siljeun.domain.auth.dto.request.SignUpRequest;
56
import org.example.siljeun.domain.auth.dto.response.LoginResponse;
@@ -22,14 +23,24 @@ public SignUpResponse signUp(SignUpRequest request) {
2223
// 비밀번호 암호화
2324
String password = passwordEncoder.encode(request.password());
2425

26+
// 회원 생성 및 저장
2527
User user = new User(request.email(), request.username(), password, request.nickname(),
2628
request.role(), request.provider());
2729
User savedUser = userRepository.save(user);
2830

2931
return new SignUpResponse(savedUser.getId(), savedUser.getEmail(), savedUser.getUsername());
3032
}
3133

32-
public LoginResponse login(String username, String password) {
34+
public LoginResponse login(String username, String rawPassword) {
35+
// 회원이 존재하지 않는 경우
36+
User user = userRepository.findByUsername(username)
37+
.orElseThrow(() -> new NoSuchElementException("아이디 또는 비밀번호가 올바르지 않습니다."));
38+
39+
// 비밀번호가 틀린 경우
40+
if (!passwordEncoder.matches(rawPassword, user.getPassword())) {
41+
throw new RuntimeException("아이디 또는 비밀번호가 올바르지 않습니다.");
42+
}
43+
3344
String token = jwtUtil.createToken(username);
3445

3546
return new LoginResponse(token);

src/main/java/org/example/siljeun/domain/user/entity/User.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ public class User extends BaseEntity {
3434
@Column(nullable = false, length = 255)
3535
private String password;
3636

37+
@Column(nullable = false, length = 10)
38+
private String name;
39+
3740
@Column(nullable = false, length = 10)
3841
private String nickname;
3942

src/main/java/org/example/siljeun/global/config/SecurityConfig.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import org.springframework.security.crypto.password.PasswordEncoder;
1515
import org.springframework.security.web.SecurityFilterChain;
1616
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
17-
import org.springframework.stereotype.Component;
1817

1918
@Configuration
2019
@EnableWebSecurity

0 commit comments

Comments
 (0)