コード例 #1
0
        public async Task <ActionResult <dynamic> > Autenticar([FromServices] AplicacaoDbContexto contexto, [FromBody] Usuario usuario)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var usuarioValido = await Servico.ObterPorIdAsync(usuario.UsuarioId);

            if (usuarioValido == null)
            {
                return(NotFound(new { message = "Usuário inválido" }));
            }

            if (usuario.Email != usuarioValido.Email || usuario.Senha != usuarioValido.Senha)
            {
                return(Unauthorized(new { message = "Dados incorretos" }));
            }

            var token = TokenServico.GerarToken(usuarioValido);

            usuarioValido.Senha = "****";

            return(new
            {
                user = usuarioValido,
                token = token
            });
        }
コード例 #2
0
        public async Task <IActionResult> Obter([FromBody] User model)
        {
            try
            {
                // Recupera o usuário
                var user = UserRepositorio.Get(model.Username, model.Password);

                // Verifica se o usuário existe
                if (user == null)
                {
                    throw new RegraDeNegocioException("Usuário ou senha inválidos");
                }

                // Gera o Token
                var token = TokenServico.GerarToken(user);

                // Retorna os dados
                return(Ok(token));
            }
            catch (RegraDeNegocioException e)
            {
                var guid = Guid.NewGuid();
                return(BadRequest(new ResultadoOperacao(false, MensagensSistema.Erro500RegraNegocio + e.Message, guid)));
            }
            catch (Exception)
            {
                var guid = Guid.NewGuid();
                return(BadRequest(new ResultadoOperacao(false, MensagensSistema.Erro500 + guid.ToString(), guid)));
            }
        }
コード例 #3
0
        public string ShowToken()
        {
            Usuario usuario = new Usuario();

            usuario.Email = "*****@*****.**";
            usuario.Senha = "12345";
            usuario.Nome  = "Nadia";
            var token = TokenServico.GerarToken(usuario);

            return(token);
        }
コード例 #4
0
 public async Task <ActionResult <dynamic> > ValidarLoginUsuario(string email, string senha)
 {
     try{
         var usuario = app.ValidarLoginUsuario(email, senha);
         if (usuario == null)
         {
             return(NotFound(new { message = "Login ou senha inválidos" }));
         }
         else
         {
             var token = TokenServico.GerarToken(mapper.Map <Usuario>(usuario));
             usuario.Token = token;
             usuario.Senha = "";
             return(new
             {
                 user = usuario,
             });
         }
     }
     catch (Exception e) {
         return(BadRequest(e.Message));
     }
 }