public string Post(
            [FromBody] Usuario usuario
            )
        {
            AppDbContextSPG context = new AppDbContextSPG();
            Acesso          acesso  = new Acesso(context);

            var usuarioBase = acesso.Find(usuario.cpf);

            var trabalhador = this._trabalhadorRepository.GetByCpf(usuario.cpf);

            string sSenha = acesso.MontaSenha(usuario.cpf, usuarioBase.dtNascimento);

            Permissao permissao          = new Permissao(_iconfiguration);
            int       resultadoPermissao = permissao.AcessoAdmin(usuario.cpf);

            if (usuarioBase == null || sSenha != usuario.Senha)
            {
                return("Usuário ou senha inválido!");
            }

            var config = new ConfigurationBuilder()
                         .SetBasePath(Directory.GetCurrentDirectory())
                         .AddJsonFile("appsettings.json")
                         .Build();

            var claimsp = new[]
            {
                new Claim(JwtRegisteredClaimNames.Sub, usuario.cpf),
            };

            var key   = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("TESTETESTETESTETESTETESTE"));
            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);


            var token = new JwtSecurityToken(
                issuer: "TESTE",
                audience:  "TESTE",
                expires: DateTime.Now.AddMinutes(20),
                claims: claimsp,
                signingCredentials: creds);

            var tokenString = new JwtSecurityTokenHandler().WriteToken(token);

            //return Ok(new { Token = tokenString });
            return(new JwtSecurityTokenHandler().WriteToken(token));
        }
示例#2
0
        public int GetPermissao(string cpf)
        {
            Permissao permissao = new Permissao(_iconfiguration);

            return(permissao.AcessoAdmin(cpf));
        }