public IActionResult Add([FromBody] UsuarioAuthDto dto) { if (dto == null) { return(BadRequest(StatusCodes.Status406NotAcceptable)); } byte[] passwordHash, passwordSalt; CrearPassword(dto.Password, out passwordHash, out passwordSalt); var user = new UsuarioDto(); user.PasswordHash = passwordHash; user.PasswordSalt = passwordSalt; user.Email = dto.Email; var u = mapper.Map <Usuario>(user); if (!repository.Add(u)) { return(BadRequest(this.response.ResponseValues(StatusCodes.Status500InternalServerError, null, $"Algo salió mal guardar el registro: {user.Email}"))); } return(Ok(this.response.ResponseValues(this.Response.StatusCode, mapper.Map <UsuarioDto>(this.repository.GetById(u.Id))))); }
public IActionResult Registro(UsuarioAuthDto usuarioAuthDto) { if (UsuarioRepository.ExisteUsuario(usuarioAuthDto.Usuario)) { return(BadRequest("El usuario ya existe")); } var usuarioACrear = new Usuario { NumeroDeEmpleado = usuarioAuthDto.NumeroDeEmpleado, UsuarioAcceso = usuarioAuthDto.Usuario }; var usuarioCreado = UsuarioRepository.Registro(usuarioACrear, usuarioAuthDto.Password); return(Ok(usuarioCreado)); }
public IActionResult Registro(UsuarioAuthDto usuarioAuthDto) { usuarioAuthDto.Usuario = usuarioAuthDto.Usuario.ToLower(); if (_usuarioRepository.ExisteUsuario(usuarioAuthDto.Usuario)) { return(BadRequest("El usuario ya existe")); } var usuarioACrear = new Usuario { UsuarioA = usuarioAuthDto.Usuario }; var usuarioCreado = _usuarioRepository.Registro(usuarioACrear, usuarioAuthDto.Password); return(Ok(usuarioCreado)); }
public IActionResult Login([FromBody] UsuarioAuthDto dto) { if (dto == null) { return(Unauthorized()); } var user = repository.GetByValues(x => x.Email == dto.Email).FirstOrDefault(); if (!ValidatePassword(dto.Password, user.PasswordHash, user.PasswordSalt)) { return(Unauthorized()); } var claims = new[] { new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()), new Claim(ClaimTypes.Name, user.Email.ToString()) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(config.GetSection("AppSettings:Token").Value)); var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(claims), Expires = DateTime.Now.AddDays(1), SigningCredentials = credentials }; var tokenHandler = new JwtSecurityTokenHandler(); var token = tokenHandler.CreateToken(tokenDescriptor); return(Ok(new { token = tokenHandler.WriteToken(token) }));; }