public async Task <ObjectResult> AutenticarAsync([FromBody] AutenticarRequest request) { //todo adicionar validação nas requests var usuario = await userManager.FindByNameAsync(request.NomeDeUsuario); if (usuario == null) { return(NotFound("Usuário não encontrado")); } var signinResult = await signInManager .CheckPasswordSignInAsync(usuario, request.Senha, false); if (!signinResult.Succeeded) { return(BadRequest("Usuario ou senha inválidos")); } ClaimsIdentity identity = usuario.Identidade(); String token = CreateSecurityToken(identity); return(Ok(new AutenticarResponse { Token = token, Mensagem = "OK" })); }
public ListarResponse Autenticar(AutenticarRequest request) { if (request == null) { AddNotification("Autenticar", "Objeto 'AutenticarRequest' é obrigatório"); return(null); } var usuario = _repositoryUsuario.ObterEntidade(request.UsuarioLogin); if (usuario == null) { AddNotification("Usuário", "Usuário não Localizado!"); return(null); } //usuario.Autenticar(request.Senha); //AddNotifications(usuario.Notifications); ////var usuarioAutenticacaoValidationContract = new UsuarioAutenticacaoValidationContract(usuario, request.Senha); ////AddNotifications(usuarioAutenticacaoValidationContract.Contract.Notifications); //if (!IsValid) // return null; //Feito dessa forma, pois o processo de autenticação do OAuth não liberar os objetos envolvidos do contexto if (!usuario.Autenticar(request.Senha)) { return(null); } return(_repositoryUsuario.ObterPorId(usuario.Id)); }
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" }); var autenticarRequest = new AutenticarRequest { UsuarioLogin = context.UserName, Senha = context.Password }; var usuario = _serviceUsuario.Autenticar(autenticarRequest); if (usuario == null) { context.SetError("Erro de Autenticação", "Usuário ou Senha Inválidos."); return; } var identity = new ClaimsIdentity(context.Options.AuthenticationType); //Definindo as Claims identity.AddClaim(new Claim("UsuarioId", usuario.Id.ToString())); identity.AddClaim(new Claim("UsuarioNome", usuario.Nome)); identity.AddClaim(new Claim("UsuarioLogin", usuario.UsuarioLogin)); identity.AddClaim(new Claim("UsuarioEmail", usuario.Email)); var principal = new GenericPrincipal(identity, new string[] { }); Thread.CurrentPrincipal = principal; context.Validated(identity); }
public AutenticarResponse Autenticar(AutenticarRequest request) { if (request == null) { AddNotification("AutenticarResponse", MSG.OBJETO_X0_E_OBRIGATORIO.ToFormat("AutenticarRequest")); return(null); } var email = new Email(request.Email); var usuario = new Usuario(email, request.Senha); AddNotifications(usuario); if (this.IsInvalid()) { return(null); } usuario = _repositoryUsuario.Buscar(usuario.Email.Endereco, usuario.Senha); if (usuario.Id == null) { AddNotification("AutenticarResponse", MSG.DADOS_NAO_ENCONTRADOS); return(null); } return(new AutenticarResponse() { Id = usuario.Id, PrimeiroNome = usuario.Nome.PrimeiroNome }); }
public object Autenticar( [FromBody] AutenticarRequest request, [FromServices] SigningConfigurations signingConfigurations, [FromServices] TokenConfigurations tokenConfigurations) { bool credencialValidas = false; AutenticarResponse response = _serviceUsuario.Autenticar(request); credencialValidas = response != null; if (credencialValidas) { ClaimsIdentity identity = new ClaimsIdentity( new GenericIdentity(response.Id.ToString(), "Id"), new[] { new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")), new Claim("Usuario", JsonConvert.SerializeObject(response)) // guarda as informações do usuário na claim }); DateTime dataCriacao = DateTime.Now; DateTime dataExpiracao = dataCriacao + TimeSpan.FromSeconds(tokenConfigurations.Seconds); var handler = new JwtSecurityTokenHandler(); //Criar o Token var securityToken = handler.CreateToken(new SecurityTokenDescriptor { Issuer = tokenConfigurations.Issuer, Audience = tokenConfigurations.Audience, SigningCredentials = signingConfigurations.SigningCredentials, Subject = identity, NotBefore = dataCriacao, Expires = dataExpiracao }); var token = handler.WriteToken(securityToken); return(new { authenticated = true, created = dataCriacao.ToString("yyyy-MM-dd HH:mm:ss"), expiration = dataExpiracao.ToString("yyyy-MM-dd HH:mm:ss"), accessToken = token, message = "Ok", primeiroNomeDoPropriedade = response.PrimeiroNome }); } else { return(new { authenticated = false, _serviceUsuario.Notifications }); } }
public async Task <RecursoViewModel> AutenticarAsync(string login, string senha) { AutenticarRequest request = new AutenticarRequest { Login = login, Senha = senha }; return(_mapper.Map <RecursoViewModel>(await _client.AutenticarAsync(request))); }
public override Task <AutenticarResponse> Autenticar(AutenticarRequest autenticarRequest, ServerCallContext context) { var request = autenticarParser.Request(autenticarRequest); var envelope = autenticacaoService.Autenticar(request); var response = autenticarParser.Response(envelope); return(Task.FromResult(response)); }
public ActionResult Post([FromBody] AutenticarRequest request) { if (request.Username == "teste" && request.Password == "teste") { return(Ok(new { success = true })); } else { return(BadRequest("Usuário e/ou senha inválido(s)!")); } }
public override async Task <RecursoModel> Autenticar(AutenticarRequest request, ServerCallContext context) { RecursoModel result = _mapper.Map <RecursoModel>(_recursoAppService.Autenticar(request.Login, request.Senha, out bool valido)); if (!valido) { //@@JONATHAN - ESTUDAR UMA MANEIRA DE DEVOLVER UM VALOR NULO VÁLIDO ATRAVÉS DO GRPC. } return(await Task.FromResult(result)); }
public async Task <IActionResult> AutenticarAsync([FromBody] AutenticarRequest request) { var result = await this.usuarioApp.AutenticarAsync(request); return(result.ToHttpResponse()); }