mirror of
https://github.com/headporter81/specialsource-homepage-backend.git
synced 2026-10-07 15:21:09 +09:00
This commit is contained in:
@@ -1,26 +1,39 @@
|
||||
package company.specialsource.controller;
|
||||
|
||||
import company.specialsource.config.JwtTokenProvider;
|
||||
import company.specialsource.dto.LoginRequest;
|
||||
import company.specialsource.service.UserService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api")
|
||||
@RequiredArgsConstructor
|
||||
@RequiredArgsConstructor // 롬복이 jwtTokenProvider와 userService의 생성자를 자동으로 만들어줍니다.
|
||||
public class AuthController {
|
||||
|
||||
private final UserService userService;
|
||||
private final JwtTokenProvider jwtTokenProvider;
|
||||
private final UserService userService; // 실제 서비스 주입
|
||||
|
||||
@PostMapping("/login")
|
||||
public ResponseEntity<String> login(@RequestBody LoginRequest loginRequest) {
|
||||
boolean isSuccess = userService.login(loginRequest.getUsername(), loginRequest.getPassword());
|
||||
public ResponseEntity<?> login(@RequestBody LoginRequest request) {
|
||||
|
||||
if (isSuccess) {
|
||||
return ResponseEntity.ok("로그인 성공!!!");
|
||||
} else {
|
||||
return ResponseEntity.status(401).body("아이디 또는 비밀번호가 틀렸습니다.");
|
||||
// 1. 기존 하드코딩("admin", "1234") 대신 실제 DB를 조회하는 서비스 메서드 호출
|
||||
if (userService.login(request.getUsername(), request.getPassword())) {
|
||||
|
||||
// 2. 로그인 성공 시, 입력받은 username으로 JWT 토큰 생성
|
||||
String token = jwtTokenProvider.createToken(request.getUsername());
|
||||
|
||||
// 3. 응답 상자에 토큰을 담아서 리턴
|
||||
Map<String, String> response = new HashMap<>();
|
||||
response.put("token", token);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
// 4. DB에 유저가 없거나 비밀번호가 틀리면 401 반환
|
||||
return ResponseEntity.status(401).body("아이디 또는 비밀번호가 틀렸습니다.");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user