MAIN CODE PUSHED ON MASTER BRANCH - NEED TO WORK ON ENCRYPTION AND DECRYPTION
This commit is contained in:
+32
-20
@@ -9,37 +9,49 @@ import com.skycrate.backend.skycrateBackend.dto.LoginUserDto;
|
||||
import com.skycrate.backend.skycrateBackend.dto.RegisterUserDto;
|
||||
import com.skycrate.backend.skycrateBackend.models.User;
|
||||
import com.skycrate.backend.skycrateBackend.repository.UserRepository;
|
||||
import com.skycrate.backend.skycrateBackend.utils.RSAKeyUtil;
|
||||
|
||||
import java.security.KeyPair;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
||||
@Service
|
||||
public class AuthenticationService {
|
||||
|
||||
|
||||
private final UserRepository userRepository;
|
||||
private final PasswordEncoder passwordEncoder;
|
||||
private final AuthenticationManager authenticationManager;
|
||||
|
||||
public AuthenticationService( UserRepository userRepository, AuthenticationManager authenticationManager , PasswordEncoder passwordEncoder){
|
||||
this.userRepository=userRepository;
|
||||
this.passwordEncoder=passwordEncoder;
|
||||
this.authenticationManager=authenticationManager;
|
||||
public AuthenticationService(UserRepository userRepository, AuthenticationManager authenticationManager, PasswordEncoder passwordEncoder) {
|
||||
this.userRepository = userRepository;
|
||||
this.passwordEncoder = passwordEncoder;
|
||||
this.authenticationManager = authenticationManager;
|
||||
}
|
||||
|
||||
public User signUp(RegisterUserDto inputuser){
|
||||
User user=new User(inputuser.getFirstname(),inputuser.getLastname(),inputuser.getEmail(),passwordEncoder.encode(inputuser.getPassword()));
|
||||
/*
|
||||
User user = new User()
|
||||
.setFullname(inputuser.getFirstname(),inputuser.getLastname())
|
||||
.setEmail(inputuser.getEmail())
|
||||
.setPassword(passwordEncoder.encode(inputuser.getPassword()));
|
||||
*/
|
||||
public User signUp(RegisterUserDto inputUser) {
|
||||
User user = new User(
|
||||
inputUser.getFirstname(),
|
||||
inputUser.getLastname(),
|
||||
inputUser.getEmail(),
|
||||
passwordEncoder.encode(inputUser.getPassword())
|
||||
);
|
||||
|
||||
return userRepository.save(user) ;
|
||||
try {
|
||||
KeyPair keyPair = RSAKeyUtil.generateKeyPair();
|
||||
user.setPublicKey(keyPair.getPublic().getEncoded());
|
||||
user.setPrivateKey(keyPair.getPrivate().getEncoded());
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
throw new RuntimeException("Failed to generate RSA key pair", e);
|
||||
}
|
||||
|
||||
return userRepository.save(user);
|
||||
}
|
||||
|
||||
public User authenticate(LoginUserDto inputuser){
|
||||
authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(inputuser.getEmail()
|
||||
, inputuser.getPassword()));
|
||||
return userRepository.findByEmail(inputuser.getEmail()).orElseThrow();
|
||||
public User authenticate(LoginUserDto inputUser) {
|
||||
authenticationManager.authenticate(
|
||||
new UsernamePasswordAuthenticationToken(inputUser.getEmail(), inputUser.getPassword())
|
||||
);
|
||||
|
||||
return userRepository.findByEmail(inputUser.getEmail())
|
||||
.orElseThrow(() -> new RuntimeException("User not found"));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user