25 lines
946 B
Java
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());
|
|
}
|
|
} |