@ApiOperation(value = "Autentificar un Usuario",
notes = "Autentica un usuario, de ser correcto devuelve un token con el que se podrá acceder a los demás métodos privados.",
response = TokenRest.class)
@ApiResponses(value = { @ApiResponse(code = 401, message = "username token mismatch<br> hash incorrect<br> token expirated<br> username apikey mismatch<br> apikey hash incorrect<br> apikey expirated<br> apikey secret incorrect<br> token or apikey incorrect"),
@ApiResponse(code = 400, message = "incorrect request") })
@RequestMapping(value = "/login", method = RequestMethod.POST, headers = "Accept=application/json", consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<?> CreateToken(
@ApiParam(value = "JSON con el envío") @RequestBody InputUserRest bodyjson){
try {
int error = ValidateApi(bodyjson.getApikey());
if (error > 0) {
return new ResponseEntity<>(TokenUtils.ErrorMessage(error), HttpStatus.UNAUTHORIZED);
}
String username = bodyjson.getUsername();
String password = bodyjson.getPassword();
String sql = "SELECT * FROM public.users WHERE username = ?";
try{
User user = (User) jdbcTemplate.queryForObject(sql,new Object[]{username},new BeanPropertyRowMapper(User.class));
PasswordEncoder encoder = new Md5PasswordEncoder();
password = encoder.encodePassword(password,"ABC123XYZ789");
if(user.getPassword().equals(password)){
TokenRest token = new TokenRest(TokenUtils.CreateTokenUser(username), TokenUtils.expirityToken);
return new ResponseEntity<>(token, HttpStatus.OK);
}
else
return new ResponseEntity<>(ErrorUtils.BAD_USERNAME_PASSWORD, HttpStatus.UNAUTHORIZED);
}catch(Exception e){
return new ResponseEntity<>(ErrorUtils.BAD_USERNAME_PASSWORD, HttpStatus.UNAUTHORIZED);
}
} catch (IOException ex) {
return new ResponseEntity<>(TokenUtils.ErrorMessage(8), HttpStatus.BAD_REQUEST);
}
}
RestPrivateController.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:coj-web
作者:
评论列表
文章目录