[ValidacaoModelStateCustomizado] //anotacao para usar a configuração de filtro
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            //criando login fake p testar o codigo simulando uma consulta ao banco de dados
            var usuarioViewModelOutput = new UsuarioViewModelOutput()
            {
                Codigo = 1,
                Login  = "******",
                Email  = "*****@*****.**"
            };

            //validacao do token do usuario
            var secret                  = Encoding.ASCII.GetBytes("chavegeradaUsandoSHA256OuOutrodeSuaPreferência*");
            var symetricSecurity        = new SymmetricSecurityKey(secret);
            var securityTokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.NameIdentifier, usuarioViewModelOutput.Codigo.ToString()),
                    new Claim(ClaimTypes.NameIdentifier, usuarioViewModelOutput.Login.ToString()),
                    new Claim(ClaimTypes.NameIdentifier, usuarioViewModelOutput.Email.ToString())
                }),
                Expires            = DateTime.UtcNow.AddDays(1),
                SigningCredentials = new SigningCredentials(symetricSecurity, SecurityAlgorithms.HmacSha256Signature)
            };
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var tokenGenerated          = jwtSecurityTokenHandler.CreateToken(securityTokenDescriptor);
            var token = jwtSecurityTokenHandler.WriteToken(tokenGenerated);

            //autentica o usuario/senha - request de autenticação
            return(Ok(new
            {
                Token = token,
                Usuario = loginViewModelInput
            }));
        }
        public IActionResult Logar(LoginViewModelinput loginViewModelInput)
        {
            var usuarioViewModelOutput = new UsuarioViewModelOutput()
            {
                Codigo = 1,
                Email  = "*****@*****.**",
                Login  = "******"
            };

            var secret = Encoding.ASCII.GetBytes("mySecret");
            var simetricSecurityKey     = new SymmetricSecurityKey(secret);
            var securityTokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.NameIdentifier, usuarioViewModelOutput.Codigo.ToString()),
                    new Claim(ClaimTypes.Name, usuarioViewModelOutput.Login.ToString()),
                    new Claim(ClaimTypes.Email, usuarioViewModelOutput.Email.ToString())
                }),
                Expires            = DateTime.UtcNow.AddDays(1),
                SigningCredentials = new SigningCredentials(simetricSecurityKey, SecurityAlgorithms.HmacSha256Signature)
            };
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var tokenGenerated          = jwtSecurityTokenHandler.CreateToken(securityTokenDescriptor);
            var token = jwtSecurityTokenHandler.WriteToken(tokenGenerated);

            return(Ok(new {
                Token = token,
                Usuario = usuarioViewModelOutput
            }));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Logar(LoginViewModelInput loginViewModelInput)
        {
            var usuario = await _usuarioRepository.ObterUsuarioAsync(loginViewModelInput.Login, loginViewModelInput.Senha);

            if (usuario == null)
            {
                return(BadRequest("Houve um erro ao tentar acessar."));
            }

            /*
             * if (usuario.Senha != loginViewModel.Senha.GerarSenhaCriptogafada())
             *  return BadRequest("Houve um erro ");
             */
            var usuarioViewModelOutput = new UsuarioViewModelOutput()
            {
                Codigo = usuario.Codigo,
                Login  = loginViewModelInput.Login,
                Email  = usuario.Email
            };

            var token = _authenticationService.GerarToken(usuarioViewModelOutput);

            return(Ok(new LoginViewModelOutput
            {
                Token = token,
                Usuario = usuarioViewModelOutput
            }));
        }
Exemplo n.º 4
0
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            var usuarioViewModelOutput = new UsuarioViewModelOutput
            {
                Login  = "******",
                Email  = "*****@*****.**",
                Codigo = 1
            };

            var secret = Encoding.ASCII.GetBytes("ePt(yaqbFNU4bHhF2Y*J&)32Pv^$1JhG*C_x33p4eVxIxLeW");
            var symmetricSecureityKey   = new Microsoft.IdentityModel.Tokens.SymmetricSecurityKey(secret);
            var securityTokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.NameIdentifier, usuarioViewModelOutput.Codigo.ToString()),
                    new Claim(ClaimTypes.Name, usuarioViewModelOutput.Login.ToString()),
                    new Claim(ClaimTypes.Email, usuarioViewModelOutput.Email.ToString())
                }),
                Expires            = DateTime.UtcNow.AddDays(1),
                SigningCredentials = new SigningCredentials(symmetricSecureityKey, SecurityAlgorithms.HmacSha256Signature)
            };
            var jwtSeceurityTokenHandler = new JwtSecurityTokenHandler();
            var tokenGenerated           = jwtSeceurityTokenHandler.CreateToken(securityTokenDescriptor);
            var token = jwtSeceurityTokenHandler.WriteToken(tokenGenerated);

            return(Ok(new
            {
                Token = token,
                Usuario = usuarioViewModelOutput.Login
            }));
        }
Exemplo n.º 5
0
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            var usuario = _usuarioRepository.ObterUsuario(loginViewModelInput.Login);

            if (usuario == null)
            {
                return(BadRequest("Houve um erro ao tentar acessar."));
            }

            // if (usuario.Senha != loginViewModelInput.Senha.GerarSenhaCriptografada())
            // {
            //     return BadRequest("Houve um erro ao tentar acessar.");
            // }

            var usuarioViewModelOutput = new UsuarioViewModelOutput()
            {
                Codigo = usuario.Codigo,
                Login  = loginViewModelInput.Login,
                Email  = usuario.Email
            };

            var token = _authenticationService.GerarToken(usuarioViewModelOutput);

            return(Ok(new
            {
                Token = token,
                Usuario = usuarioViewModelOutput
            }));
        }
Exemplo n.º 6
0
        public string GetToken(UsuarioViewModelOutput usuarioViewModelOutput)
        {
            /*
             * var usuarioViewModelOutput = new UsuarioViewModelOutput() {
             *  Codigo = 1,
             *  Email = "*****@*****.**",
             *  Login = "******"
             * };
             */
            var secret = Encoding.ASCII.GetBytes(_configuration.GetSection("JwtConfigurations:Secret").Value);
            var symmetricSecurityKey    = new SymmetricSecurityKey(secret);
            var securityTokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(
                    new Claim[]
                {
                    new Claim(ClaimTypes.NameIdentifier, usuarioViewModelOutput.Codigo.ToString()),
                    new Claim(ClaimTypes.Name, usuarioViewModelOutput.Login.ToString()),
                    new Claim(ClaimTypes.Email, usuarioViewModelOutput.Email.ToString()),
                }
                    ),
                Expires            = DateTime.UtcNow.AddDays(1),
                SigningCredentials = new SigningCredentials(symmetricSecurityKey, SecurityAlgorithms.HmacSha256Signature)
            };
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var tokenGenerated          = jwtSecurityTokenHandler.CreateToken(securityTokenDescriptor);
            var token = jwtSecurityTokenHandler.WriteToken(tokenGenerated);

            return(token);
        }
Exemplo n.º 7
0
        public IActionResult Logar(LoginViewModelinput loginViewModelinput)
        {
            var usuario = _usuarioRepository.ObterUsuario(loginViewModelinput.Login);

            if (usuario == null)
            {
                return(BadRequest("Houve um erro ao tentar acessar."));
            }

            //if(usuario.Senha != loginViewModelinput)

            var usuarioViewModelOutput = new UsuarioViewModelOutput()
            {
                Codigo = 1,
                Login  = "******",
                Email  = "*****@*****.**"
            };


            var token = _authenticationService.GerarToken(usuarioViewModelOutput);

            return(Ok(new
            {
                Token = token,
                Usuario = usuarioViewModelOutput
            }));
        }
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            var usuarioViewModelOutput = new UsuarioViewModelOutput()
            {
                Codigo = 1,
                Email  = "*****@*****.**",
                Login  = "******"
            };

            var secret = Encoding.ASCII.GetBytes("MzfsT&d9gprP>!9$Es(X!5g@;ef!5sbk:jH\\2.}8ZP'qY#7");
            var symmetricSecurityKey    = new SymmetricSecurityKey(secret);
            var securityTokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.NameIdentifier, usuarioViewModelOutput.Codigo.ToString()),
                    new Claim(ClaimTypes.NameIdentifier, usuarioViewModelOutput.Login.ToString()),
                    new Claim(ClaimTypes.NameIdentifier, usuarioViewModelOutput.Email.ToString())
                }),
                Expires            = DateTime.UtcNow.AddDays(1),
                SigningCredentials = new SigningCredentials(symmetricSecurityKey, SecurityAlgorithms.HmacSha256Signature)
            };
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var tokenGenerated          = jwtSecurityTokenHandler.CreateToken(securityTokenDescriptor);
            var token = jwtSecurityTokenHandler.WriteToken(tokenGenerated);


            return(Ok(new {
                Token = token,
                Usuario = usuarioViewModelOutput
            }));
        }
Exemplo n.º 9
0
        public string GerarToken(UsuarioViewModelOutput usuarioViewModelOutput)
        {
            var secret = Encoding.ASCII.GetBytes(_configuration.GetSection("JwtConfigurations:Secret").Value);
            var symmetricSecurityKey    = new SymmetricSecurityKey(secret);
            var securityTokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.NameIdentifier, usuarioViewModelOutput.Codigo.ToString()),
                    new Claim(ClaimTypes.Name, usuarioViewModelOutput.Login.ToString()),
                    new Claim(ClaimTypes.Email, usuarioViewModelOutput.Email.ToString())
                }
                                             )
            };
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var tokenGenerated          = jwtSecurityTokenHandler.CreateToken(securityTokenDescriptor);
            var token = jwtSecurityTokenHandler.WriteToken(tokenGenerated);

            return(token);
        }
Exemplo n.º 10
0
        public string GerarToken(UsuarioViewModelOutput usuarioViewModelOutput)
        {
            var secret = Encoding.ASCII.GetBytes(configuration.GetSection("JwtConfiguration:Secret").Value);
            var symmetricSecurityToken  = new SymmetricSecurityKey(secret);
            var securityTokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.NameIdentifier, usuarioViewModelOutput.id.ToString()),
                    new Claim(ClaimTypes.Name, usuarioViewModelOutput.login.ToString()),
                    new Claim(ClaimTypes.Email, usuarioViewModelOutput.email.ToString()),
                }),
                Expires            = DateTime.UtcNow.AddDays(1),
                SigningCredentials = new SigningCredentials(symmetricSecurityToken, SecurityAlgorithms.HmacSha256Signature)
            };
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var tokenGenerated          = jwtSecurityTokenHandler.CreateToken(securityTokenDescriptor);
            var token = jwtSecurityTokenHandler.WriteToken(tokenGenerated);

            return(token);
        }
Exemplo n.º 11
0
        public string GerarToken(UsuarioViewModelOutput usuarioViewModelOutput)
        {
            var secret = Encoding.ASCII.GetBytes(_configuration.GetSection("MzfsT&d9gprP>!9$Es(X!5g@;ef!5sbk:jH\\2.}8ZP'qY#7").Value);
            var symmetricSecurityKey    = new SymmetricSecurityKey(secret);
            var securityTokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.NameIdentifier, usuarioViewModelOutput.Codigo.ToString()),
                    new Claim(ClaimTypes.Name, usuarioViewModelOutput.Login.ToString()),
                    new Claim(ClaimTypes.Email, usuarioViewModelOutput.Email.ToString())
                }),
                Expires            = DateTime.UtcNow.AddDays(1),
                SigningCredentials = new SigningCredentials(symmetricSecurityKey, SecurityAlgorithms.HmacSha256Signature)
            };
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var tokenGenerated          = jwtSecurityTokenHandler.CreateToken(securityTokenDescriptor);
            var token = jwtSecurityTokenHandler.WriteToken(tokenGenerated);

            return(token);
        }
Exemplo n.º 12
0
        public string GerarToken(UsuarioViewModelOutput usuarioViewModelOutput)
        {
            var secret = Encoding.ASCII.GetBytes(_configuration.GetSection("JwtConfigurations:Secret").Value);
            var symmetricSecurityKey    = new SymmetricSecurityKey(secret); //configura chave simetrica de segurança
            var securityTokenDescriptor = new SecurityTokenDescriptor       //configura descriçao do token, o que vai vir de dados do usuario e quanto tempo vai expirar
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.NameIdentifier, usuarioViewModelOutput.Codigo.ToString()),
                    new Claim(ClaimTypes.Name, usuarioViewModelOutput.Login.ToString()),
                    new Claim(ClaimTypes.Email, usuarioViewModelOutput.Email.ToString())
                }),
                Expires            = DateTime.UtcNow.AddDays(1),                                                          //tempo que vai expirar
                SigningCredentials = new SigningCredentials(symmetricSecurityKey, SecurityAlgorithms.HmacSha256Signature) //qual algoritmo de encriptação será usado pra proteção
            };
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();                                                  // atribui uma var com a classe de tokenHandler
            var tokenGenerated          = jwtSecurityTokenHandler.CreateToken(securityTokenDescriptor);                   //passa a descrição ali encima pra criar token
            var token = jwtSecurityTokenHandler.WriteToken(tokenGenerated);

            return(token);
        }
Exemplo n.º 13
0
        public string GenerateToken(UsuarioViewModelOutput usuarioViewModelOutput)
        {
            var tokenHandler    = new JwtSecurityTokenHandler();
            var key             = Encoding.ASCII.GetBytes("fedaf7d8863b48e197b9287d492b708e"); //comitando a chave
            var tokenDescriptor = new SecurityTokenDescriptor                                  //configurando a descrição do token
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    // new Claim(ClaimTypes.Name, user.Username.ToString()),
                    //  new Claim(ClaimTypes.Role, user.Role.ToString())

                    new Claim(ClaimTypes.NameIdentifier, usuarioViewModelOutput.Codigo.ToString()),
                    new Claim(ClaimTypes.Name, usuarioViewModelOutput.Codigo.ToString()),
                    new Claim(ClaimTypes.Email, usuarioViewModelOutput.Codigo.ToString()),
                }),
                Expires            = DateTime.UtcNow.AddHours(2),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) // algoritmo de criptografia do token
            };
            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
Exemplo n.º 14
0
        [ValidacaoModelStateCustomizado] //A anotação dessa classe substitui o ModelState.IsValid
        public IActionResult Logar(LoginModel loginViewInput)
        {
            #region Validate Model State foi inutilizado devido a classe ValidacaoModelStateCustomizado
            //if (!ModelState.IsValid)
            //    return BadRequest(
            //        new ValidaCampoModel(
            //        ModelState.SelectMany(sm=>sm.Value.Errors)
            //        .Select(s => s.ErrorMessage)
            //        )); // se os dados passados no paramtro estiverem incorretos retorna uma instancia de ValidaCampoModel ou seja preenchendo o retorno com o erro

            #endregion

            Usuario usuario = _usuarioRepository.ObterUsuario(loginViewInput.Login);

            if (usuario == null)
            {
                return(BadRequest("Usuário inexistente ou houve um erro ao tentar acessar"));
            }

            //if(usuario.Senha != loginModel.Senha.GerarSenhaCriptografada())
            //{
            //    return BadRequest("Houve um erro ao tentar acessar.");
            //}

            var usuarioViewModelOutput = new UsuarioViewModelOutput()
            {
                Codigo = usuario.Codigo,
                Login  = loginViewInput.Login,
                Email  = usuario.Email,
            };

            string token = _authenticationService.GerarToken(usuarioViewModelOutput);

            return(Ok(new
            {
                Token = token,
                Usuario = usuarioViewModelOutput
            }));
        }
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            Usuario usuario = _usuarioRepository.ObterUsuario(loginViewModelInput.Login);

            if (usuario == null)
            {
                return(BadRequest("Houve um erro ao tentar acessar."));
            }

            var usuarioViewModelOutput = new UsuarioViewModelOutput()
            {
                Codigo = 1,
                Login  = "******",
                Email  = "*****@*****.**"
            };

            var token = _autenticationService.GerarToken(usuarioViewModelOutput);

            return(Ok(new
            {
                Token = token,
                Usuario = usuarioViewModelOutput
            }));
        }
Exemplo n.º 16
0
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            Usuario usuario = _usuarioRepository.ObterUsuario(loginViewModelInput);

            if (usuario == null)
            {
                return(BadRequest("Houve um erro ao tentar acessar"));
            }

            var usuarioViewModelOutput = new UsuarioViewModelOutput()
            {
                Codigo = usuario.Codigo,
                Login  = usuario.Login,
                Email  = usuario.Senha
            };

            var token = _authetication.GerarToken(usuarioViewModelOutput);

            return(Ok(new
            {
                Token = token,
                Usuario = usuarioViewModelOutput
            }));
        }