public IActionResult Login(LoginViewModel login)
        {
            try {
                var usuarioRetornado = usuarioRepository.BuscarPorEmailESenha(login);

                if (usuarioRetornado == null)
                {
                    return(NotFound(new { message = "Usuario não encontrado" }));
                }

                var claims = new[] {
                    new Claim(JwtRegisteredClaimNames.Email, usuarioRetornado.Email),
                    new Claim(JwtRegisteredClaimNames.Jti, usuarioRetornado.UsuarioId.ToString()),
                    new Claim(ClaimTypes.Role, usuarioRetornado.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.AddHours(2),
                    signingCredentials: creds
                    );
                return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) }));
            } catch (Exception ex) {
                return(BadRequest(new { message = "Erro: " + ex.Message }));
            }
        }
示例#2
0
        public IActionResult Login(LoginViewModel login)
        {
            //try {
            Usuarios usuarioBuscado = usuarioRepository.BuscarPorEmailESenha(login);

            if (usuarioBuscado == null)
            {
                return(NotFound(new { mensagem = "Usuário não encontrado" }));
            }
            // informacoes referentes ao usuarios
            var claims = new[] {
                new Claim(JwtRegisteredClaimNames.Email, usuarioBuscado.Email),
                new Claim(JwtRegisteredClaimNames.Jti, usuarioBuscado.IdUsuario.ToString()),
                new Claim(ClaimTypes.Role, usuarioBuscado.IdPermissaoNavigation.Nome),
            };

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

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

            var token = new JwtSecurityToken(
                issuer: "Ekips.WebApi",
                audience: "Ekips.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 = "Erro ao cadastrar: " + ex.Message });
            //}
        }
        public IActionResult Login(LoginViewModel login)
        {
            var usuario = usuarioRepository.BuscarPorEmailESenha(login);

            if (usuario == null)
            {
                return(NotFound(new { Mensagem = "Email ou senha incorretos" }));
            }



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

            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(1),
                signingCredentials: creds);

            return(Ok(new
            {
                token = new JwtSecurityTokenHandler().WriteToken(token)
            }));
        }
        public IActionResult Login(LoginViewModel login)
        {
            try
            {
                Usuarios Usuario = UsuarioRepository.BuscarPorEmailESenha(login);
                if (Usuario == null)
                {
                    return(NotFound(new { mensagem = "Email ou senha inválidos." }));
                }

                // informacoes do usuario
                var claims = new[]
                {
                    // email
                    new Claim(JwtRegisteredClaimNames.Email, Usuario.Email),
                    // posso criar chave e valor do que eu quiser
                    new Claim("Nome", "Admin"),
                    // id
                    new Claim(JwtRegisteredClaimNames.Jti, Usuario.UsuarioId.ToString()),
                    // é a permissão do usuário
                    new Claim(ClaimTypes.Role, Usuario.Permissao),
                };

                // chave que tambem esta configurada no startup
                var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("inlock-chave-autenticacao"));

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

                // eh o proprio token
                var token = new JwtSecurityToken(
                    // quem esta mandando e quem esta validando
                    issuer: "InLock.WebApi",
                    audience: "InLock.WebApi",
                    // sao as informacoes do usuario
                    claims: claims,
                    // data de expiracao
                    expires: DateTime.Now.AddDays(30),
                    // eh a chave
                    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 }));
            }
        }
示例#5
0
 public IActionResult Login(LoginViewModel dadosLogin)
 {
     try
     {
         if (UsuarioRepository.BuscarPorEmailESenha(dadosLogin) == null)
         {
             return(NotFound(new { mensagem = "Email ou senha inválidos." }));
         }
         return(Ok(new { mensagem = "Usuario encontrado com sucesso." }));
     }
     catch (Exception ex)
     {
         return(BadRequest(new { mensagem = "Erro ao cadastrar." + ex.Message }));
     }
 }
        // O POST SERVE PARA CADASTRAR UM NOVO ITEM
        public IActionResult Login(LoginViewModel login)
        {
            try
            {
                UsuarioDomain Usuario = UsuarioRepository.BuscarPorEmailESenha(login);
                if (Usuario == null)
                {
                    return(NotFound(new { mensagem = "Email ou senha inválidos." }));
                }
                // SÃO AS INFORMAÇÕES DO USUARIO
                var claims = new[]
                {
                    // EMAIL DO USUARIO
                    new Claim(JwtRegisteredClaimNames.Email, Usuario.Email),
                    // ID DO USUARIO
                    new Claim(JwtRegisteredClaimNames.Jti,
                              Usuario.IdUsuario.ToString()),
                    // ESSE É O TIPO DO USUÁRIO
                    new Claim(ClaimTypes.Role, Usuario.IdTipoUsuarioNavigation.Nome),
                };

                // ESSA CHAVE ESTA CONFIGURADA NO STARTUP
                var key = new SymmetricSecurityKey
                              (System.Text.Encoding.UTF8.GetBytes("opflix-chave-autenticacao"));
                // CRIPTOGRAFIA
                var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
                var token = new JwtSecurityToken(
                    // QUEM ESTA MANDANDO E QUEM ESTA VALIDANDO
                    issuer: "OpFlix.WebApi",
                    audience: "OpFlix.WebApi",
                    // ESSA É A DATA DE EXPIRAÇÃO
                    claims: claims, expires: DateTime.Now.AddMinutes(30),
                    // ESSA É A CHAVE
                    signingCredentials: creds);

                // SERVE PARA GERAR AS CHAVES
                return(Ok(new
                {
                    token = new JwtSecurityTokenHandler().WriteToken(token)
                }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { mensagem = "Erro." + ex.Message }));
            }
        }
        public IActionResult Login(LoginViewModel login)
        {
            try
            {
                Usuarios Usuario = UsuarioRepository.BuscarPorEmailESenha(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.IdUsuario.ToString()),
                    // é a permissão do usuário
                    new Claim(ClaimTypes.Role, Usuario.Permissao.ToString()),
                    new Claim("permissao", Usuario.Permissao.ToString()),
                };

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

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

                var token = new JwtSecurityToken(
                    issuer: "OpFlix.WebApi",
                    audience: "OpFlix.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 }));
            }
        }
示例#8
0
        public IActionResult Login(LoginViewModel login)
        {
            try
            {
                Usuarios usuarioBuscado = UsuarioRepository.BuscarPorEmailESenha(login);
                if (usuarioBuscado == null)
                {
                    return(NotFound(new { mensagem = "Email ou Senha Inválidos." }));
                }

                // informacoes referentes ao usuario
                var claims = new[]
                {
                    // chave customizada
                    new Claim("chave", "0123456789"),
                    new Claim("mari", "AgoraFoi"),
                    // email
                    new Claim(JwtRegisteredClaimNames.Email, usuarioBuscado.Email),
                    // id
                    new Claim(JwtRegisteredClaimNames.Jti, usuarioBuscado.IdUsuario.ToString()),
                    // permissao
                    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 = "Erro ao cadastrar." + ex.Message }));
            }
        }
示例#9
0
        public IActionResult Login(Usuarios login)
        {
            try
            {
                Usuarios Usuario = UsuarioRepository.BuscarPorEmailESenha(login);
                if (Usuario == null)
                {
                    return(NotFound(new { mensagem = "Email ou senha inválidos." }));
                }

                var Fornecedor = FornecedorRepository.BuscarPorUser(Usuario.IdUsuario);

                var claims = new[]
                {
                    // email
                    new Claim(JwtRegisteredClaimNames.Email, Usuario.Email),
                    // id
                    new Claim(JwtRegisteredClaimNames.Jti, Usuario.IdUsuario.ToString()),
                    // id do fornecedor >:D
                    new Claim(ClaimTypes.Role, Fornecedor.IdFornecedor.ToString()),
                };

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

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

                var token = new JwtSecurityToken(
                    issuer: "AutoPecas.WebApi",
                    audience: "AutoPecas.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 = "Erro." + ex.Message }));
            }
        }
示例#10
0
        public IActionResult Login(LoginViewModel login)
        {
            //FUNCIONA APENAS PARA USUARIOS COM SENHA CRIPTOGRAFADA

            var    encryp    = System.Text.Encoding.ASCII.GetBytes(login.Senha);
            string senhaCrip = Convert.ToBase64String(encryp);

            login.Senha = senhaCrip;



            var user = usuarioRepository.BuscarPorEmailESenha(login);

            if (user == null)
            {
                return(NotFound());
            }
            var claims = new[] {
                new Claim(JwtRegisteredClaimNames.Email, user.Email),
                new Claim(JwtRegisteredClaimNames.Jti, user.IdUsuario.ToString()),
                new Claim("Username", user.Nome),
                new Claim("Permissao", user.IdPermissaoNavigation.Tipo),
                new Claim("DataNascimento", user.DataNascimento.ToString()),
                new Claim("Imagem", user.Imagem),
                new Claim(ClaimTypes.Role, user.IdPermissaoNavigation.Tipo)
            };

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

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

            var token = new JwtSecurityToken(
                issuer: "OpFlix.WebApi",
                audience: "OpFlix.WebApi",
                claims: claims,
                expires: DateTime.Now.AddHours(2),
                signingCredentials: creds
                );

            return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) }));
        }
示例#11
0
        public IActionResult Login(LoginViewModel login)
        {
            try
            {
                Professores professor = usuarioRepository.BuscarPorEmailESenha(login);
                if (professor == null)
                {
                    return(NotFound(new { mensagem = "Email ou senha inválidos." }));
                }

                var claims = new[]
                {
                    // nome
                    new Claim(JwtRegisteredClaimNames.GivenName, professor.Nome),
                    // id
                    new Claim(JwtRegisteredClaimNames.Jti, professor.IdProfessor.ToString()),
                };

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

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

                var token = new JwtSecurityToken(
                    issuer: "Roman.WebApi",
                    audience: "Roman.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 = "Erro." + ex.Message }));
            }
        }
        public IActionResult Login(LoginViewModel login)
        {
            try
            {
                Usuarios usuarioBuscado = UsuarioRepository.BuscarPorEmailESenha(login);
                if (usuarioBuscado == null)
                {
                    return(NotFound(new { mensagem = "Eita, deu ruim." }));
                }

                var claims = new[]
                {
                    new Claim(JwtRegisteredClaimNames.Email, usuarioBuscado.Email),
                    new Claim(JwtRegisteredClaimNames.Jti, usuarioBuscado.IdUsuario.ToString()),
                    // é a permissão do usuário
                    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 (System.Exception ex)
            {
                return(BadRequest(new { mensagem = ex.Message }));
            }
        }
示例#13
0
        public IActionResult Login(LoginViewModel login)
        {
            try
            {
                Usuarios Usuario = UsuarioRepository.BuscarPorEmailESenha(login);
                if (Usuario == null)
                {
                    return(NotFound(new { mensagem = "Vixi parsa... Vê aí porque o e-mail ou a senha estão errados." }));
                }

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

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

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

                var token = new JwtSecurityToken(
                    issuer: "Ekips.WebApi",
                    audience: "Ekips.WebApi",
                    claims: claims,
                    expires: DateTime.Now.AddHours(1),
                    signingCredentials: creds);

                return(Ok(new
                {
                    token = new JwtSecurityTokenHandler().WriteToken(token)
                }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { mensagem = "Oops! Deu erro!" + ex.Message }));
            }
        }
        public IActionResult Login(Usuarios login)
        {
            try
            {
                Usuarios Usuario = usuarioRepository.BuscarPorEmailESenha(login);

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

                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(new { mensagem = "Erro." + ex.Message }));
            }
        }