Files
Spring-ReactNative-Project/src/main/java/com/example/backend/service/AuthService.java
2024-12-27 15:31:56 +09:00

25 lines
946 B
Java

package com.example.backend.service;
import com.example.backend.config.JwtTokenProvider;
import com.example.backend.entity.User;
import com.example.backend.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
@Service
public class AuthService {
@Autowired
private UserRepository userRepository;
@Autowired
private JwtTokenProvider jwtTokenProvider;
public String login(String username, String password) {
User user = userRepository.findByUsername(username).orElseThrow(() -> new RuntimeException("User not found"));
if (!new BCryptPasswordEncoder().matches(password, user.getPassword())) {
throw new RuntimeException("Invalid credentials");
}
return jwtTokenProvider.createToken(user.getUsername(), user.getId());
}
}