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 })); }
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}"); }
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 })); }
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 })); }
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 })); }
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 })); }
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 })); }
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 })); }
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 })); }
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 })); }
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 })); }
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 })); }
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)); } }
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 })); }
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)); }
public Usuario ObterUsuario(LoginViewModelInput loginViewModelInput) { return(_contexto.Usuario.FirstOrDefault(u => u.Login == loginViewModelInput.Login)); }