Ejemplo n.º 1
0
        public IActionResult BuscarEmailSenha(LoginViewModel login)
        {
            UsuarioRepository repo = new UsuarioRepository();

            try
            {
                var usuario = repo.BuscarPorEmailSenha(login.Email, login.Senha);
                if (usuario == null)
                {
                    return(NotFound("Usuario não encontrado!"));
                }

                var claims = new[]
                {
                    new Claim(JwtRegisteredClaimNames.Email, usuario.Email),
                    new Claim(JwtRegisteredClaimNames.Jti, usuario.IdUsuario.ToString()),
                    new Claim(ClaimTypes.Role, usuario.IdTipoNavigation.NomeTipoUsuario)
                };

                var token = new JwtSecurityToken(
                    issuer: "easyTalk",
                    audience: "easyTalk",
                    claims: claims,
                    expires: DateTime.Now.AddMinutes(30)
                    );

                return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) }));
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 2
0
        public IActionResult Login(LoginViewModel loginViewModel)
        {
            Usuario usuario = _usuarioRepository.BuscarPorEmailSenha(loginViewModel);

            if (usuario == null)
            {
                return(NotFound("Senha ou Email incorreto"));
            }
            return(Ok("Você Logou!!!!"));
        }
Ejemplo n.º 3
0
        public IActionResult Logar(LoginViewModel login)
        {
            //Busca por Email
            //se nulo = notFound()
            //else token

            try
            {
                Usuarios UserReturn = usuarioRepositoy.BuscarPorEmailSenha(login);
                if (login == null || UserReturn == null)
                {
                    return(NotFound(new { mensagem = "Erro ao Logar, Usuario não encontrado" }));
                }

                //gerei declarações do meu token, meio que customizei ele
                var claims = new[] {
                    new Claim(JwtRegisteredClaimNames.Email, UserReturn.Email),
                    new Claim(JwtRegisteredClaimNames.Jti, UserReturn.UsuarioId.ToString()),
                    new Claim(ClaimTypes.Role, UserReturn.Permissao),
                };

                //criei uma chave de seguramça e a configurei
                var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("Chave_aqui_e_agora_nesse_instante"));

                // fiz alguma parada que não entendi
                var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

                // na real, aqui eu realmente crei meu token e configurei ele
                var token = new JwtSecurityToken(
                    issuer: "Inlock.WebApi",
                    audience: "Inlock.WebApi",
                    claims: claims,
                    expires: DateTime.Now.AddMinutes(30),
                    signingCredentials: creds);

                //pois então me dispus a configurá-lo
                return(Ok(new
                {
                    token = new JwtSecurityTokenHandler().WriteToken(token)
                }));
            }
            catch (Exception exe)
            {
                return(BadRequest(new { mensagem = "Erro ao Logar" + exe.Message }));
            }
        }
            public IActionResult Login(UsuarioDomain Login)
            {
                // Busca o usuário pelo e-mail e senha
                UsuarioDomain UsuarioBuscado = _UsuarioRepository.BuscarPorEmailSenha(Login.Email, Login.Senha);

                // Caso não encontre nenhum usuário com o e-mail e senha informados
                if (UsuarioBuscado == null)
                {
                    // retorna NotFound com uma mensagem personalizada
                    return(NotFound("E-mail ou senha inválidos!"));
                }

                // Caso encontre, prossegue para a criação do token

                // Define os dados que serão fornecidos no token - Payload
                var claims = new[]
                {
                    // TipoDaClaim, ValorDaClaim
                    new Claim(JwtRegisteredClaimNames.Email, UsuarioBuscado.Email),
                    new Claim(JwtRegisteredClaimNames.Jti, UsuarioBuscado.IdUsuario.ToString()),
                    new Claim(ClaimTypes.Role, UsuarioBuscado.Permissao),
                    new Claim("Claim personalizada", "Valor teste")
                };

                // Define a chave de acesso ao token
                var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("filmes-chave-autenticacao"));

                // Define as credenciais do token - Header
                var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

                // Define a composição do token
                var token = new JwtSecurityToken(
                    issuer: "Filmes.webApi",               // emissor do token
                    audience: "Filmes.webApi",             // destinatário do token
                    claims: claims,                        // dados definidos acima (linha 59)
                    expires: DateTime.Now.AddMinutes(30),  // tempo de expiração
                    signingCredentials: creds              // credenciais do token
                    );

                // Retorna um status code 200 - Ok com o token criado
                return(Ok(new
                {
                    token = new JwtSecurityTokenHandler().WriteToken(token)
                }));
            }
        public IActionResult Login(LoginViewModel login)
        {
            try
            {
                Usuarios Usuario = usuariosRepository.BuscarPorEmailSenha(login);
                if (Usuario == null)
                {
                    return(NotFound(new { mensagem = "Email ou senha inválidos." }));
                }

                var claims = new[]
                {
                    // email
                    new Claim(JwtRegisteredClaimNames.Email, Usuario.Email),
                    new Claim("chave", "valor"),
                    // id
                    new Claim(JwtRegisteredClaimNames.Jti, Usuario.UsuarioId.ToString()),
                    // é a permissão do usuário
                    new Claim(ClaimTypes.Role, Usuario.Permissao),
                };

                var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("InLock-chave-autenticacao"));

                var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

                var token = new JwtSecurityToken(
                    issuer: "InLock.WebApi",
                    audience: "InLock.WebApi",
                    claims: claims,
                    expires: DateTime.Now.AddMinutes(30),
                    signingCredentials: creds);

                // gerar a chave pra vocês
                // return Ok(new { mensagem = "Sucesso, bro." });
                return(Ok(new
                {
                    token = new JwtSecurityTokenHandler().WriteToken(token)
                }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { mensagem = "Erro." + ex.Message }));
            }
        }
Ejemplo n.º 6
0
        public IActionResult Login(LoginViewModel login)
        {
            try
            {
                Usuarios usuarioBuscado = UsuarioRepository.BuscarPorEmailSenha(login);
                if (usuarioBuscado == null)
                {
                    return(NotFound(new { mensagem = "Email ou Senha invalido " }));
                }
                // informacoes referentes ao usuarios
                var claims = new[]
                {
                    new Claim("chave", "0123456789"),
                    new Claim(JwtRegisteredClaimNames.Email, usuarioBuscado.Email),
                    new Claim(JwtRegisteredClaimNames.Jti, usuarioBuscado.IdUsuario.ToString()),
                    new Claim(ClaimTypes.Role, usuarioBuscado.Permissao),
                };

                var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("gufos-chave-autenticacao"));

                var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

                var token = new JwtSecurityToken(
                    issuer: "Gufos.WebApi",
                    audience: "Gufos.WebApi",
                    claims: claims,
                    expires: DateTime.Now.AddMinutes(30),
                    signingCredentials: creds);

                return(Ok(new
                {
                    token = new JwtSecurityTokenHandler().WriteToken(token)
                }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { mensagem = "Eita, erro :/ ." + ex.Message }));
            }
        }
Ejemplo n.º 7
0
        public IActionResult Login(LoginViewModel dadosLogin)
        {
            try
            {
                Usuarios usuarioEncontrado = UsuarioRepository.BuscarPorEmailSenha(dadosLogin);
                if (usuarioEncontrado == null)
                {
                    return(NotFound());
                }

                var claims = new[]
                {
                    new Claim(JwtRegisteredClaimNames.Email, usuarioEncontrado.Email),
                    new Claim(JwtRegisteredClaimNames.Jti, usuarioEncontrado.UsuarioId.ToString()),
                    new Claim(ClaimTypes.Role, "ADMINISTRADOR")
                };
                var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("inlock-chave-autenticacao"));

                var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

                var token = new JwtSecurityToken(
                    issuer: "InLock.WebApi",
                    audience: "InLock.WebApi",
                    claims: claims,
                    expires: DateTime.Now.AddMinutes(30),
                    signingCredentials: creds);

                return(Ok(new
                {
                    token = new JwtSecurityTokenHandler().WriteToken(token)
                }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }