Skip to content
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
public record SignUpRequest(String email,
String username,
String password,
String name,
String nickname,
Role role,
Provider provider) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.example.siljeun.domain.auth.service;

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

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

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

public LoginResponse login(String username, String password) {
public LoginResponse login(String username, String rawPassword) {
// 회원이 존재하지 않는 경우
User user = userRepository.findByUsername(username)
.orElseThrow(() -> new NoSuchElementException("아이디 또는 비밀번호가 올바르지 않습니다."));

// 비밀번호가 틀린 경우
if (!passwordEncoder.matches(rawPassword, user.getPassword())) {
throw new RuntimeException("아이디 또는 비밀번호가 올바르지 않습니다.");
}

String token = jwtUtil.createToken(username);

return new LoginResponse(token);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ public class User extends BaseEntity {
@Column(nullable = false, length = 255)
private String password;

@Column(nullable = false, length = 10)
private String name;

@Column(nullable = false, length = 10)
private String nickname;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.web.SecurityFilterChain;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
import org.springframework.stereotype.Component;

@Configuration
@EnableWebSecurity
Expand Down