public async Task <ActionResult <Recurso> > Auth([FromBody] AuthViewModel obj) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Recurso recurso = await _unitOfWork.RecursoRepository.GetByLoginAsync(obj.Usuario); if (recurso == null) { return(NotFound()); } bool valido = _cryptographyManager.VerifyPbkdf2(obj.Senha, recurso.Senha, recurso.Salt); recurso.Senha = null; recurso.Salt = null; if (!valido) { return(NotFound()); } else { int.TryParse(_configuration["Jwt:Expires"], out int jwtExpires); recurso.Token = TokenService.GenerateToken(recurso.Id.ToString(), _configuration["Jwt:Key"], _configuration["Jwt:Issuer"], jwtExpires); return(Ok(recurso)); } }
public async Task <AuthResponse> Handle(AuthRequest request, CancellationToken cancellationToken) { AuthResponse result = new() { Status = OperationResult.Failed }; result.Recurso = _mapper.Map <RecursoViewModel>(await _unitOfWork.RecursoRepository.GetByLoginAsync(request.Auth.Usuario)); if (result.Recurso == null) { result.Status = OperationResult.NotFound; return(result); } bool success = _cryptographyManager.VerifyPbkdf2(request.Auth.Senha, result.Recurso.Senha, result.Recurso.Salt); result.Recurso.Senha = null; result.Recurso.Salt = null; result.Status = success ? OperationResult.Success : OperationResult.Failed; return(result); } }
public Recurso Autenticar(string login, string senha, out bool valido) { valido = false; Recurso recurso = _recursoRepository.ConsultarPorLogin(login); if (recurso == null) { return(null); } valido = _cryptographyManager.VerifyPbkdf2(senha, recurso.Senha, recurso.Salt); return(recurso); }
public RecursoViewModel Autenticar(string login, string senha, out bool valido) { valido = false; RecursoViewModel recurso = _mapper.Map <RecursoViewModel>(_recursoRepository.ConsultarPorLogin(login)); if (recurso == null) { return(null); } if (!recurso.Ativo) { return(null); } valido = _cryptographyManager.VerifyPbkdf2(senha, recurso.Senha, recurso.Salt); return(recurso); }