Esempio n. 1
0
        /// <summary>
        /// Metodo de Login
        /// </summary>
        /// <returns></returns>
        public async Task ExecutarLogin()
        {
            try
            {
                // Carregando
                Loading    = true;
                OffLoading = false;

                // Validação
                if (string.IsNullOrWhiteSpace(Login.Username) || string.IsNullOrWhiteSpace(Login.Password))
                {
                    throw new ErrorException(Mensagem.Validacao.UsuarioNaoEncontrato);
                }

                // Autenticacao
                var modelUsu = autorizacaoServico.Autenticar(Login.Username, Login.Password);

                // Busca perfil do usuario
                var perfil = await motoristaServico.BuscaPerfilMotorista();

                // Usuario autenticado
                usuarioAutenticado.SetPerfil(perfil);

                // Salva login
                await GravaUsuario();
            }
            finally
            {
                // Finaliza loading
                Loading    = false;
                OffLoading = true;
            }
        }
        public LoginSaidaDTO Login(LoginEntradaDTO loginEntradaDTO)
        {
            var usuario = _usuarioServico.Autorizar(loginEntradaDTO.Email, loginEntradaDTO.Senha);

            if (usuario == null)
            {
                return(null);
            }

            var loginAutenticacao = _mapper.Map <LoginAutenticacaoDTO>(usuario);
            var loginSaida        = _autenticacaoServico.Autenticar(loginAutenticacao);

            return(loginSaida);
        }
Esempio n. 3
0
        public IActionResult Login(
            [FromBody] AutenticacaoRequest autenticacaoRequest,
            [FromServices] IAutenticacaoServico autenticacaoServico,
            [FromServices] ConfigsAssinatura configsAssinatura,
            [FromServices] ConfigsToken configsToken)
        {
            bool credenciaisValidas = autenticacaoServico.Autenticar(autenticacaoRequest);

            if (credenciaisValidas)
            {
                ClaimsIdentity identity = new ClaimsIdentity(
                    new GenericIdentity(autenticacaoRequest.Login, "Login"),
                    new[] {
                    new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")),
                    new Claim(JwtRegisteredClaimNames.UniqueName, autenticacaoRequest.Login)
                }
                    );

                DateTime dataCriacao   = DateTime.Now;
                DateTime dataExpiracao = dataCriacao +
                                         TimeSpan.FromSeconds(configsToken.Seconds);

                var handler       = new JwtSecurityTokenHandler();
                var securityToken = handler.CreateToken(new SecurityTokenDescriptor
                {
                    Issuer             = configsToken.Issuer,
                    Audience           = configsToken.Audience,
                    SigningCredentials = configsAssinatura.SigningCredentials,
                    Subject            = identity,
                    NotBefore          = dataCriacao,
                    Expires            = dataExpiracao
                });
                var token = handler.WriteToken(securityToken);

                return(Ok(new AutenticacaoResponse
                {
                    CriadoEm = dataCriacao,
                    ExpiradoEm = dataExpiracao,
                    Token = token
                }));
            }
            else
            {
                return(Ok(new Falha {
                    Titulo = "",
                    Erros = "Falha ao autenticar"
                }));
            }
        }