public IActionResult Login(LoginViewModelInput loginViewModelInput)
        {
            var userViewModelOutput = new UserViewModelOutput()
            {
                Codigo = 1,
                Login  = "******",
                Email  = "*****@*****.**"
            };

            var secret = Encoding.ASCII.GetBytes("segredo");
            var symmetricSecurityKey    = new SymmetricSecurityKey(secret);
            var securityTokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.NameIdentifier, userViewModelOutput.Codigo.ToString()),
                    new Claim(ClaimTypes.Name, userViewModelOutput.Login.ToString()),
                    new Claim(ClaimTypes.Email, userViewModelOutput.Email.ToString())
                }),

                Expires            = DateTime.UtcNow.AddDays(1),
                SigningCredentials = new SigningCredentials(symmetricSecurityKey, SecurityAlgorithms.HmacSha256Signature),
            };

            var jwtSecurityTokenHadler = new JwtSecurityTokenHandler();
            var tokenGenerated         = jwtSecurityTokenHadler.CreateToken(securityTokenDescriptor);
            var token = jwtSecurityTokenHadler.WriteToken(tokenGenerated);

            return(Ok(new
            {
                Token = tokenGenerated,
                User = userViewModelOutput
            }));
        }
Exemple #2
0
        public async Task Logar_InformandoUsuarioESenhaExistentes_DeveRetornarSucesso()
        {
            //Arrange
            var loginViewModelInput = new LoginViewModelInput
            {
                Login = RegistroViewModelInput.Login,
                Senha = RegistroViewModelInput.Senha
            };

            StringContent content = new StringContent(JsonConvert.SerializeObject(loginViewModelInput),
                                                      Encoding.UTF8, "application/json");

            //Act
            var httpClientRequest = await _httpClient.PostAsync("api/v1/usuario/logar", content);

            LoginViewModelOutput = JsonConvert.DeserializeObject <LoginViewModelOutput>
                                       (await httpClientRequest.Content.ReadAsStringAsync());

            //Assert
            Assert.Equal(HttpStatusCode.OK, httpClientRequest.StatusCode);
            Assert.NotNull(LoginViewModelOutput.Token);
            Assert.Equal(loginViewModelInput.Login, LoginViewModelOutput.Usuario.Login);
            _output.WriteLine($"{nameof(CursoControllerTests)} : " +
                              $"{nameof(Logar_InformandoUsuarioESenhaExistentes_DeveRetornarSucesso)} -> " +
                              $"{LoginViewModelOutput.Token}");
        }
Exemple #3
0
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            var usuarioViewModelOutput = new UsuarioViewModelOutput()
            {
                Codigo = 1,
                Login  = "******",
                Email  = "*****@*****.**"
            };

            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.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(Ok(new {
                Token = token,
                Usuario = usuarioViewModelOutput
            }));
        }
        public IActionResult Login(LoginViewModelInput loginViewModelInput)
        {
            var UserViewModelOutput = new UserViewModelOutput
            {
                Code  = 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, UserViewModelOutput.Code.ToString()),
                    new Claim(ClaimTypes.Name, UserViewModelOutput.Login.ToString()),
                    new Claim(ClaimTypes.Email, UserViewModelOutput.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,
                User = UserViewModelOutput
            }));
        }
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            var usuarioViewModelOutput = new UsuarioViewModelOutput()
            {
                Codigo = 1,
                Login  = "******",
                Email  = "*****@*****.**"
            };

            var secret = Encoding.ASCII.GetBytes("QwErTyUiOp357159@#$");
            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(Ok(new
            {
                Token = token,
                Usuario = usuarioViewModelOutput
            }));
        }
        [ValidacaoModelStateCustomizado] //usa filters ouves das linhas cruas abaixo de Logar()
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            Usuario usuario = _usuarioRepository.ObterUsuario(loginViewModelInput.Login);

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

            /* if(usuario.Senha != loginViewModel.Senha.GerarSenhaCriptografada())
             * {
             *  return BadRequest("Houve um erro ao tentar acessar.");
             * }*/
            var usuarioViewModelOutput = new UsuarioViewModelOutput()//cria um novo usuario local pra testar
            {
                Codigo = usuario.Codigo,
                Login  = loginViewModelInput.Login,
                Email  = usuario.Email
            };

            var token = _authenticationService.GerarToken(usuarioViewModelOutput);//devolve o token escrito de fato para essa var que vai ser chamada abaixo

            return(Ok(new
            {
                Token = token,
                Usuario = usuarioViewModelOutput
            }));//funfou, retorna o token e o usuarioviewoutput
        }
        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
            }));
        }
Exemple #8
0
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            var usuario = _usuarioRepository.ObterUsuario(loginViewModelInput.Login);

            if (usuario == null)
            {
                return(BadRequest("Houve um erro ao tentar acessar. (Usuário não encontrado ou inexistente)"));
            }
            if (usuario.Senha != loginViewModelInput.Senha)
            {
                return(BadRequest("Houve um erro ao tentar acessar. (Senha incorreta)"));
            }

            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
            }));
        }
        [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
            }));
        }
Exemple #10
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
            }));
        }
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            //if (!ModelState.IsValid)
            //{
            //    return BadRequest(new ValidaCampoViewModelOutput(ModelState.SelectMany(sm => sm.Value.Errors).Select(s => s.ErrorMessage)));
            //} Linha comentada pois iramos criar uma pasta(Filters) só para fazer isso

            var usuarioViewModelOutput = new UsuarioViewModelOutput() // Serve para gerar o token
            {
                Codigo = 1,
                Login  = "******",
                Email  = "*****@*****.**"
            };


            var tokenService = new Services.TokenService();

            var token = tokenService.GenerateToken(usuarioViewModelOutput);

            return(Ok(new
            {
                Token = token,
                Usuario = loginViewModelInput
            }));
        }
Exemple #12
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.");
            //}

            //if (!ModelState.IsValid)
            //{
            //    return BadRequest(new ValidaCampoViewModelOutput(ModelState.SelectMany(sm => sm.Value.Errors).Select(s => s.ErrorMessage)));
            //}

            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
            }));
        }
Exemple #13
0
        public IActionResult Login(LoginViewModelInput loginViewModelInput)
        {
            var user = _userRepository.GetUser(loginViewModelInput.Login);

            if (user == null)
            {
                return(BadRequest("There was an error trying to access"));
            }

            /*if (user.Password != loginViewModelInput.Password.CreateEncriptedPassword())
             * {
             *  return BadRequest("There was an error trying to access");
             * }*/

            var userViewModelOutput = new UserViewModelOutput()
            {
                Code  = user.Id,
                Login = loginViewModelInput.Login,
                Email = user.Email
            };

            var token = _authenticationService.GenerateToken(userViewModelOutput);

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

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

            //  if (usuario.Senha != loginViewModelInput.Senha.GerarSenhaEncriptografada())
            //{
            //   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
            }));
        }
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            Usuario 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 a senha");
            //}
            var usuarioViewModelOutput = new UsuarioViewModelOutput()
            {
                id    = usuario.id,
                login = loginViewModelInput.login,
                email = usuario.email
            };
            var token = authenticationService.GerarToken(usuarioViewModelOutput);

            return(Ok(new
            {
                Token = token,
                Usuario = usuarioViewModelOutput
            }));
        }
Exemple #16
0
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            //if (!ModelState.IsValid)
            //{
            //    return BadRequest(new ValidaCampoViewModelOutput(ModelState.SelectMany(sm => sm.Value.Errors).Select(s => s.ErrorMessage)));
            //}

            return(Ok(loginViewModelInput));
        }
        public IActionResult Login(LoginViewModelInput loginViewModelInput)
        {
            var    user  = _tokenGenerator.createTesteUser();
            string token = _tokenGenerator.GenerateToken(user);

            return(Ok(new
            {
                Token = token,
                User = user
            }));
        }
Exemple #18
0
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            // if (!ModelState.IsValid)
            // {
            //     return BadRequest(new ValidaCampoViewModelOutput(ModelState.SelectMany(sm => sm.Value.Errors).Select(s => s.ErrorMessage)));
            // }


            var secret = System.Text.Encoding.ASCII.GetBytes("MzfsT&d9gprP>!9$Es(X!5g@;ef!5sbk:jH\\2.}8ZP'qY#7");
            var symmetricSecurityKey     = new SymmetricSecurityKey(secret);
            var securityTokenDescription = new SecurityTokenDescriptor
            {
                new Claim(ClaimTypes.NameIdentifier, usuarioViewModelOutput)
            };

            return(Ok(loginViewModelInput));
        }
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            var usuario = _repository.ObterUsuario(loginViewModelInput);

            if (usuario == null)
            {
                return(BadRequest("Login não localizado."));
            }

            var usuarioOutput = new UsuarioViewModelOutput
            {
                Codigo = usuario.Codigo,
                Email  = usuario.Email,
                Login  = usuario.Login
            };

            var token = _authentication.GerarToken(usuarioOutput);

            return(Ok(new { Token = token, Usuario = usuarioOutput }));
        }
        public IActionResult Login(LoginViewModelInput loginViewModelInput)
        {
            var user = _userRepository.GetUser(loginViewModelInput.Login);

            if (user == null)
            {
                return(BadRequest("Error"));
            }

            var userViewModelOutput = new UserViewModelOutput()
            {
                Id    = user.Id,
                Login = loginViewModelInput.Login,
                Email = user.Email
            };

            var token = _authentication.GenerateToken(userViewModelOutput);

            return(Ok(new { Token = token, User = userViewModelOutput }));
        }
Exemple #21
0
        public IActionResult Registrar(LoginViewModelInput loginInput)
        {
            //var optionsBuilder = new DbContextOptionsBuilder<CursoDbContext>();
            //optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=CursoNet5Api;Integrated Security=True");
            //CursoDbContext contexto = new CursoDbContext(optionsBuilder.Options);

            //var migracoesPendentes = contexto.Database.GetPendingMigrations(); //Verifica se existe migrações pendentes
            //if(migracoesPendentes.Count() > 0)
            //{
            //    contexto.Database.Migrate();
            //}
            var usuario = new Usuario();

            usuario.Login = loginInput.Login;
            usuario.Senha = loginInput.Senha;
            usuario.Email = loginInput.Email;

            _usuarioRepository.Adicionar(usuario);
            _usuarioRepository.Commit();

            return(Created("", loginInput));
        }
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            // manual user creation only for tests, remove after creating DB connection
            var usuarioViewModelOutput = new UsuarioViewModelOutput()
            {
                Codigo = 1,
                Login  = "******",
                Email  = "*****@*****.**"
            };

            var secret = Encoding.ASCII.GetBytes("@_S3cReT_T0kEn_@");
            var symmetricSecurityKey = new SymmetricSecurityKey(secret);

            // configuration of the descriptor of the token data received
            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)
            };

            // token generation using the descriptor definition
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var tokenGenerated          = jwtSecurityTokenHandler.CreateToken(securityTokenDescriptor);
            var token = jwtSecurityTokenHandler.WriteToken(tokenGenerated);

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

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

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

            var token = _autheitication.GerarToken(usuarioViewModelOutput);

            return(Ok(new {
                Token = token,
                Usuario = usuarioViewModelOutput
            }));
        }
Exemple #24
0
        public IActionResult Logar(LoginViewModelInput loginViewModelInput)
        {
            var user = _usuarioRepository.getUser(loginViewModelInput.Login);

            if (user == null)
            {
                return(BadRequest("Ocorreu um erro"));
            }

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

            var token = _authenticationService.GetToken(usuarioViewModelOutput);

            return(Ok(new {
                Token = token,
                Usuario = usuarioViewModelOutput
            }));
        }
Exemple #25
0
        public async Task <IActionResult> Login(LoginViewModelInput loginViewModelInput)
        {
            try
            {
                var user = await _userRepository.ObtainUserAsync(loginViewModelInput.Login);

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

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

                var userViewModelOutput = new UserViewModelOutput()
                {
                    Code  = user.Code,
                    Login = loginViewModelInput.Login,
                    Email = user.Email
                };

                var token = _authenticationService.GenerateToken(userViewModelOutput);

                return(Ok(new LoginViewModelOutput
                {
                    Token = token,
                    User = userViewModelOutput
                }));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.ToString());
                return(new StatusCodeResult(500));
            }
        }
Exemple #26
0
        public async Task <IActionResult> Logar(LoginViewModelInput loginViewModelInput)
        {
            try
            {
                await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);

                var usuario = await _usuarioService.Logar(loginViewModelInput);

                var claims = new List <Claim>
                {
                    new Claim(ClaimTypes.NameIdentifier, usuario.Usuario.Codigo.ToString()),
                    new Claim(ClaimTypes.Name, usuario.Usuario.Login),
                    new Claim(ClaimTypes.Email, usuario.Usuario.Email),
                    new Claim("token", usuario.Token),
                };

                var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);

                var authProperties = new AuthenticationProperties
                {
                    ExpiresUtc = new DateTimeOffset(DateTime.UtcNow.AddDays(1))
                };
                await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity), authProperties);

                ModelState.AddModelError("", $"O usuário está autenticado {usuario.Token}");
            }
            catch (ApiException ex)
            {
                ModelState.AddModelError("", ex.Message);
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
            }

            return(View());
        }
        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
            }));
        }
Exemple #28
0
        public IActionResult Login(LoginViewModelInput loginViewModelInput)
        {
            User user = _userRepository.GetUser(loginViewModelInput.Username);

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

            var userViewModelOutput = new UserViewModelOutput()
            {
                Code     = user.Code,
                Username = user.Username,
                Email    = user.Email
            };

            var token = _authenticationService.GenerateToken(userViewModelOutput);

            return(Ok(new
            {
                Token = token,
                User = userViewModelOutput
            }));
        }
 public IActionResult Logar(LoginViewModelInput loginViewModelInput)
 {
     return(Ok(loginViewModelInput));
 }
Exemple #30
0
 public Usuario ObterUsuario(LoginViewModelInput loginViewModelInput)
 {
     return(_contexto.Usuario.FirstOrDefault(u => u.Login == loginViewModelInput.Login));
 }