Compare commits
4 Commits
ba8b32160d
...
b88d820c12
Author | SHA1 | Date | |
---|---|---|---|
b88d820c12 | |||
521c98fdc2 | |||
82a3b152f2 | |||
fba30cff9e |
@ -1,4 +1,5 @@
|
||||
package ovh.herisson.Clyde.EndPoints;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@ -11,13 +12,26 @@ import java.util.Date;
|
||||
@CrossOrigin(origins = "http://localhost:5173")
|
||||
public class LoginController {
|
||||
private final AuthenticatorService authServ;
|
||||
|
||||
static public class RequestLogin{
|
||||
private final String identifier;
|
||||
private final String password;
|
||||
@JsonFormat(pattern="yyyy-MM-dd'T'HH:mm:ss")
|
||||
private final Date expirationDate;
|
||||
public RequestLogin(String identifier, String password, Date expirationDate){
|
||||
this.identifier = identifier;
|
||||
this.password = password;
|
||||
this.expirationDate = expirationDate;
|
||||
}
|
||||
}
|
||||
|
||||
public LoginController(AuthenticatorService authServ){
|
||||
this.authServ = authServ;
|
||||
}
|
||||
@PostMapping("/login")
|
||||
public ResponseEntity<String> login(@RequestParam String identifier, String password, Date expirationDate){
|
||||
@PostMapping(value = "/login")
|
||||
public ResponseEntity<String> login(@RequestBody RequestLogin requestLogin){
|
||||
|
||||
String sessionToken = authServ.login(identifier,password,expirationDate);
|
||||
String sessionToken = authServ.login(requestLogin.identifier,requestLogin.password,requestLogin.expirationDate);
|
||||
if (sessionToken == null){
|
||||
return new UnauthorizedResponse<>("Identifier or Password incorrect");
|
||||
}
|
||||
|
@ -1,10 +1,12 @@
|
||||
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.io.UnsupportedEncodingException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.Date;
|
||||
@ -22,9 +24,15 @@ public class TokenService {
|
||||
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;
|
||||
for (int i = 0; i < bytes.length; i++) {
|
||||
bytes[i] = (byte) (((bytes[i]+256)%256 %95+ 32));
|
||||
}
|
||||
// will never end up in the catch because of the way that SecureRandom.nextBytes is implemented
|
||||
try {
|
||||
return new String(bytes,"ISO_8859_1");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public User getUserFromToken(String token){
|
||||
|
Loading…
Reference in New Issue
Block a user