fixed a token encoding issue
This commit is contained in:
		| @ -1,31 +1,25 @@ | |||||||
| package ovh.herisson.Clyde.EndPoints; | package ovh.herisson.Clyde.EndPoints; | ||||||
| import org.springframework.http.HttpHeaders; |  | ||||||
| import org.springframework.http.ResponseEntity; | import org.springframework.http.ResponseEntity; | ||||||
| import org.springframework.web.bind.annotation.*; | import org.springframework.web.bind.annotation.*; | ||||||
| import ovh.herisson.Clyde.Responses.UnauthorizedResponse; | import ovh.herisson.Clyde.Responses.UnauthorizedResponse; | ||||||
| import ovh.herisson.Clyde.Services.AuthenticatorService; | import ovh.herisson.Clyde.Services.AuthenticatorService; | ||||||
|  |  | ||||||
| import java.util.Date; | import java.util.Date; | ||||||
|  |  | ||||||
| @RestController | @RestController | ||||||
| @CrossOrigin(origins = "http://localhost:5173") | @CrossOrigin(origins = "http://localhost:5173") | ||||||
| public class LoginController { | public class LoginController { | ||||||
|     private final AuthenticatorService authServ; |     private final AuthenticatorService authServ; | ||||||
|  |  | ||||||
|     public LoginController(AuthenticatorService authServ) { |     public LoginController(AuthenticatorService authServ) { | ||||||
|         this.authServ = authServ; |         this.authServ = authServ; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @PostMapping("/login") |     @PostMapping("/login") | ||||||
|     public ResponseEntity<String> login(@RequestParam String identifier, String password, Date expirationDate) { |     public ResponseEntity<String> login(@RequestParam String identifier, String password, Date expirationDate) { | ||||||
|  |  | ||||||
|         String sessionToken = authServ.login(identifier, password, expirationDate); |         String sessionToken = authServ.login(identifier, password, expirationDate); | ||||||
|         if (sessionToken == null) { |         if (sessionToken == null) { | ||||||
|             return new UnauthorizedResponse<>("Identifier or Password incorrect"); |             return new UnauthorizedResponse<>("Identifier or Password incorrect"); | ||||||
|         } |         } | ||||||
|  |         return ResponseEntity.ok().header("Set-Cookie", String.format("session_token=%s", sessionToken)).build(); | ||||||
|         HttpHeaders responseHeaders = new HttpHeaders(); |  | ||||||
|         responseHeaders.set("Set-Cookie",String.format("session_token=%s",sessionToken)); |  | ||||||
|         return ResponseEntity.ok().headers(responseHeaders).build(); |  | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,10 +1,12 @@ | |||||||
| package ovh.herisson.Clyde.Services; | package ovh.herisson.Clyde.Services; | ||||||
|  |  | ||||||
|  |  | ||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
| import ovh.herisson.Clyde.Repositories.TokenRepository; | import ovh.herisson.Clyde.Repositories.TokenRepository; | ||||||
| import ovh.herisson.Clyde.Tables.Token; | import ovh.herisson.Clyde.Tables.Token; | ||||||
| import ovh.herisson.Clyde.Tables.User; | import ovh.herisson.Clyde.Tables.User; | ||||||
|  |  | ||||||
|  | import java.io.UnsupportedEncodingException; | ||||||
| import java.nio.charset.StandardCharsets; | import java.nio.charset.StandardCharsets; | ||||||
| import java.security.SecureRandom; | import java.security.SecureRandom; | ||||||
| import java.util.Date; | import java.util.Date; | ||||||
| @ -22,9 +24,12 @@ public class TokenService { | |||||||
|     public String generateNewToken(){ |     public String generateNewToken(){ | ||||||
|         byte[] bytes = new byte[64]; |         byte[] bytes = new byte[64]; | ||||||
|         new SecureRandom().nextBytes(bytes); |         new SecureRandom().nextBytes(bytes); | ||||||
|         String token = new String(bytes, StandardCharsets.US_ASCII); |         // will never end up in the catch because of the way that SecureRandom.nextBytes is implemented | ||||||
|         System.out.println(token); |         try { | ||||||
|         return token; |             return new String(bytes,"ISO_8859_1"); | ||||||
|  |         } catch (UnsupportedEncodingException e) { | ||||||
|  |             throw new RuntimeException(e); | ||||||
|  |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public User getUserFromToken(String token){ |     public User getUserFromToken(String token){ | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user