public Result Authenticate(string name, string password) { var user = _unitOfWork.RepositoryBase.FirstOrDefault <User>(u => u.Name == name); if (user == null) { return new Result() { Status = false, Message = "Usuário não encontrado." } } ; var passwordValidation = _cryptService.IsValid(password, user?.Password); if (!passwordValidation) { return new Result() { Status = false, Message = "Senha inválida!" } } ; if (!user.Status) { return new Result() { Status = false, Message = "Usuário desativado." } } ; var authenticationToken = _authenticationTokenService.CreateAuthenticationToken(user); return(new Result() { Status = true, Message = authenticationToken }); } } }