@RequestBody hinzugefügt beim login

This commit is contained in:
Maximilian Leopold 2019-03-25 17:22:58 +01:00
parent 211b7279b5
commit 251f5c3f25

View File

@ -48,20 +48,19 @@ public class Controller {
@RequestMapping("/api/login")
@ResponseBody
public ResponseEntity<Object> login(@RequestParam(value = "username", defaultValue = "") String username,
@RequestParam(value = "password", defaultValue = "") String password){
if(username == "" || password == ""){
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
public ResponseEntity<Object> login(@RequestBody User user){
if(user.getUsername() == null || user.getPassword() == null){
return ResponseEntity.status(401).body(null);
}
if(userRepository.findByUsername(username) == null){
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
if(userRepository.findByUsername(user.getUsername()) == null){
return ResponseEntity.status(401).body(null);
}
if(BCrypt.checkpw(password, userRepository.findByUsername(username).getPassword())){
if(BCrypt.checkpw(user.getPassword(), userRepository.findByUsername(user.getUsername()).getPassword())){
String token = BCrypt.hashpw(String.valueOf(System.currentTimeMillis() + counter.incrementAndGet()), BCrypt.gensalt());
String hashedToken = BCrypt.hashpw(token, BCrypt.gensalt());
userRepository.findByUsername(username).setToken(hashedToken);
userRepository.save(userRepository.findByUsername(username));
userRepository.findByUsername(user.getUsername()).setToken(hashedToken);
userRepository.save(userRepository.findByUsername(user.getUsername()));
return ResponseEntity.ok(new Gson().toJson(token));
}
return ResponseEntity.status(HttpStatus.BAD_GATEWAY).body(null);