public object BuscarPorLogin(Login usuarioLogin) { bool credencialValida = false; if (usuarioLogin != null && !string.IsNullOrEmpty(usuarioLogin.login)) { baseUsuario = _repository.BuscarPorLogin(usuarioLogin.login); credencialValida = ((baseUsuario != null) && (usuarioLogin.login == baseUsuario.login) && (BCrypt.Net.BCrypt.Verify(usuarioLogin.senha, baseUsuario.senha))); } if (credencialValida == true) { //Criação do TOKEN ClaimsIdentity claimsIdentity = new ClaimsIdentity( new GenericIdentity(usuarioLogin.login, "login"), new[] { new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")), new Claim(JwtRegisteredClaimNames.UniqueName, usuarioLogin.login), } ); //Horario em que está iniciando a nova sessão DateTime dataCriacao = DateTime.Now; //Horario em que irá se expirar a sessao DateTime dataExpiracao = dataCriacao + TimeSpan.FromSeconds(_tokenConfiguration.Seconds); //Salvando log de acesso ao sistema. LogUsuarioVO logUsuarioVO = new LogUsuarioVO(); logUsuarioVO.codUsuario = baseUsuario.codigo; logUsuarioVO.horarioLogin = dataCriacao; logUsuarioVO.horarioLogout = dataExpiracao; logUsuarioVO.atividade = "Realizando login do sistema."; InserirLogDeAcesso(logUsuarioVO); //Fim do save log var handler = new JwtSecurityTokenHandler(); string token = CriarToken(claimsIdentity, dataCriacao, dataExpiracao, handler); return(Sucesso(dataCriacao, dataExpiracao, token)); } else { return(SemSucesso()); } }
public void InserirLogDeAcesso(LogUsuarioVO logUsuarioVO) { var logUsuarioEntity = _logUsuarioConverter.Parce(logUsuarioVO); _logUsuariorepository.CriarNovo(logUsuarioEntity); }