added Token and User Services
This commit is contained in:
parent
37d24c59e7
commit
4a85a55290
@ -0,0 +1,36 @@
|
|||||||
|
package ovh.herisson.Clyde.Services;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import ovh.herisson.Clyde.Repositories.TokenRepository;
|
||||||
|
import ovh.herisson.Clyde.Tables.Token;
|
||||||
|
import ovh.herisson.Clyde.Tables.User;
|
||||||
|
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.security.SecureRandom;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class TokenService {
|
||||||
|
|
||||||
|
TokenRepository tokenRepo;
|
||||||
|
|
||||||
|
public TokenService(TokenRepository tokenRepo){
|
||||||
|
this.tokenRepo = tokenRepo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String generateNewToken(){
|
||||||
|
byte[] bytes = new byte[64];
|
||||||
|
new SecureRandom().nextBytes(bytes);
|
||||||
|
String token = new String(bytes, StandardCharsets.US_ASCII);
|
||||||
|
System.out.println(token);
|
||||||
|
return token;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//todo potentiellement return bool pour savoir si token bien add
|
||||||
|
public void saveToken(String token, User user, Date expirationDate){
|
||||||
|
tokenRepo.save(new Token(user,token));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
package ovh.herisson.Clyde.Services;
|
||||||
|
|
||||||
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import ovh.herisson.Clyde.Repositories.UserRepository;
|
||||||
|
import ovh.herisson.Clyde.Tables.User;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class UserService {
|
||||||
|
|
||||||
|
private final UserRepository userRepo;
|
||||||
|
private final BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
|
||||||
|
|
||||||
|
|
||||||
|
public UserService(UserRepository userRepo){
|
||||||
|
this.userRepo = userRepo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public User getUser(String identifier){
|
||||||
|
if (identifier == null) return null;
|
||||||
|
try {
|
||||||
|
int id = Integer.parseInt(identifier);
|
||||||
|
return userRepo.findById(id);
|
||||||
|
}
|
||||||
|
catch (NumberFormatException nfe){
|
||||||
|
return userRepo.findByEmail(identifier);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public boolean checkPassword(User user, String tryingPassword){
|
||||||
|
return passwordEncoder.matches(tryingPassword, user.getPassword());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user