예제 #1
0
        public IActionResult Login(UsuarioLoginViewModel usuario)
        {
            if (ModelState.IsValid)
            {
                var usuarioDomain = new Usuario("", usuario.Login, usuario.Senha);
                var autenticar    = _usuarioApp.Autenticar(usuarioDomain);

                if (!autenticar)
                {
                    Alert("Usuário ou senha inválidos!", Enums.Enum.NotificationType.warning);
                    return(View());
                }

                var userClaims = new List <Claim>()
                {
                    new Claim(ClaimTypes.Name, usuario.Login)
                };

                var identity      = new ClaimsIdentity(userClaims, "Usuario");
                var userPrincipal = new ClaimsPrincipal(new[] { identity });

                HttpContext.SignInAsync(userPrincipal);

                return(RedirectToAction("Index", "Home", new { area = "" }));
            }

            return(View(usuario));
        }
예제 #2
0
        public IActionResult Autenticar([FromBody] AutenticacaoRequest request)
        {
            string         token = null;
            DateTime?      validade;
            int            statusCode = StatusCodes.Status403Forbidden;
            IList <string> perfis     = new List <string>();

            bool autenticado = _appService.Autenticar(request.Nome, request.Senha, out string mensagem, out UsuarioDto usuarioDto);

            if (autenticado)
            {
                statusCode = StatusCodes.Status200OK;

                token = GeraToken(usuarioDto, perfis, out validade);
            }
            else
            {
                validade = null;
            }
            return(StatusCode(statusCode, new AutenticacaoResponse(autenticado, mensagem, token, validade, perfis, usuarioDto)));
        }
예제 #3
0
        public IActionResult Login([FromBody] UsuarioViewModel usuarioLogin)
        {
            var resultado = _usuarioAppService.Autenticar(usuarioLogin.NomeUsuario, usuarioLogin.Senha);

            if (resultado != null && resultado.SucessoLogin)
            {
                var tokenJwt = _usuarioIdentityService.GerarToken(resultado);
                return(Ok(new { token = tokenJwt.Token }));
            }
            else
            {
                return(Unauthorized());
            }
        }
        private async Task <ClaimsIdentity> GetClaimsIdentity(string userName, string password)
        {
            if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(password))
            {
                return(await Task.FromResult <ClaimsIdentity>(null));
            }

            // get the user to verifty
            var userToVerify = _usuarioAppService.Autenticar(userName, password);

            if (userToVerify == null)
            {
                return(await Task.FromResult <ClaimsIdentity>(null));
            }

            return(await Task.FromResult(_jwtFactory.GenerateClaimsIdentity(userName, userToVerify.Id.ToString())));
        }
 public async Task <IActionResult> Autenticar([FromBody] AutenticarUsuarioInputModel inputModel) =>
 Response(await usuarioAppService.Autenticar(inputModel.Email, inputModel.Senha));