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