Exemple #1
0
 public ResponseBase <UsuarioDTO> Entrar([FromBody] EntradaRequest request)
 {
     using (AutenticacaoAppService appService = new AutenticacaoAppService(_configuration, _contexto))
     {
         ResponseBase <UsuarioDTO> br = appService.ValidarEntrada(request.Email, request.Senha);
         br.TempoLevado = appService.swTempoRequisicao.Elapsed;
         br.Autorizado  = br.Mensagens.Count == 0;
         return(br);
     }
 }
Exemple #2
0
        private AutenticacaoAppService ObterUsuarioSistemaAppService(KpmgContext context)
        {
            var uow = new UnitOfWork(context);
            var vUsuarioSistemaRepository = new VwUsuarioSistemaPermissaoRepository(context);
            var mapper = MapperHelper.ConfigMapper();

            var oterAtualizarSenhaExpiradaUsecase  = ObterAtualizarSenhaExpiradaUsecase(context);
            var obterEsquecerSenhaUsecase          = ObterEsquecerSenhaUsecase(context);
            var obterGerarTokenLoginUsecaseUsecase = ObterGerarTokenLoginUsecase(context);

            var autenticacaoAppService = new AutenticacaoAppService(vUsuarioSistemaRepository,
                                                                    oterAtualizarSenhaExpiradaUsecase,
                                                                    obterGerarTokenLoginUsecaseUsecase, obterEsquecerSenhaUsecase, mapper);

            return(autenticacaoAppService);
        }
        protected override async Task <AuthenticateResult> HandleAuthenticateAsync()
        {
            ResponseBase <UsuarioDTO> br = new ResponseBase <UsuarioDTO>();
            string scheme = string.Empty;
            string token  = string.Empty;

            if (!string.IsNullOrWhiteSpace(Request.Headers[HeaderNames.Authorization]))
            {
                var authToken = Request.Headers[HeaderNames.Authorization].ToString();

                if (authToken.Split(' ').Length > 1)
                {
                    scheme = authToken.Split(' ')[0].Trim();
                    token  = authToken.Split(' ')[1].Trim();
                }
                else
                {
                    token = authToken.Trim();
                }
            }

            if (!string.IsNullOrWhiteSpace(token))
            {
                using (AutenticacaoAppService _autenticacaoAppService = new AutenticacaoAppService(_configuration, _contexto))
                {
                    //_autenticacaoAppService.Codigo = this.Request.Headers["codigo"];
                    br             = _autenticacaoAppService.ValidarToken(token);
                    br.TempoLevado = _autenticacaoAppService.swTempoRequisicao.Elapsed;
                }
            }
            else
            {
                br.Mensagens.Add("Usuário não encontrado!");
            }

            br.Autorizado = br.Mensagens.Count == 0;

            Request.HttpContext.Items.Add("usuario", br);

            var user   = new GenericPrincipal(new GenericIdentity("User"), null);
            var ticket = new AuthenticationTicket(user, new AuthenticationProperties(), CustomAuthOptions.DefaultSchemeName);

            await Task.Delay(0);

            return(AuthenticateResult.Success(ticket));
        }