public IActionResult Login([FromBody] AutenticarUsuarioCommand command) { _autenticarUsuario.Execute(command); var result = _autenticarUsuario.ResultCommand as AutenticarUsuarioResultCommand; return(Ok(result)); }
public async Task <Option <string> > Handle(AutenticarUsuarioCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { NotifyValidationErrors(request); return(Option.None <string>()); } var usuario = Usuario.CriarAutenticar(request.Email, request.Senha); if (!usuario.PodeSeAutenticar(usuarioReadOnlyRepository)) { NotifyValidationErrors(usuario); return(Option.None <string>()); } var usuarioViewModel = (await usuarioReadOnlyRepository.ObterParaAutenticacao(usuario.Email)) .ValueOr(AutorizacaoUsuarioViewModel.Empty()); var identityUser = identityManager.CreateUser( usuarioViewModel.NomeCompleto, usuarioViewModel.Email, Enumerable.Empty <string>()) .ValueOr(UserIdentity.Empty()); return(identityManager.GenereteAccessToken(identityUser)); }
public async Task <ICommandResult> HandleAsync(AutenticarUsuarioCommand command) { AddNotifications(new Contract() .Requires() .IsNotNullOrEmpty(command.Email, "usuario.e-mail", "E-mail deve ser preenchido!") .IsNotNullOrEmpty(command.Senha, "usuario.senha", "Senha deve ser preenchida!")); if (Invalid) { return(new AutenticarUsuarioCommandResult(false, "Inconsitências encontradas", Notifications)); } var usuario = await _usuarioRepository.GetAsync(command.Email); AddNotifications(new Contract() .Requires() .IsNotNull(usuario, "usuario.email", "Usuário inválido")); if (Invalid) { _logger.LogError(Notifications.ToString()); return(new AutenticarUsuarioCommandResult(false, "Inconsitências encontradas", Notifications)); } AddNotifications(new Contract() .Requires() .IsTrue(usuario.ValidarSenha(command.Senha, _encrypter), "usuario.senha", "Senha inválida")); if (Invalid) { _logger.LogError(Notifications.ToString()); return(new AutenticarUsuarioCommandResult(false, "Inconsitências encontradas", Notifications)); } _logger.LogInformation($"Credênciais válidas, retornando o usuário: {usuario.Email}"); return(new AutenticarUsuarioCommandResult(true, "sucess", _jwtHandler.Create(usuario.Email))); }
public async Task <IActionResult> Autenticar([FromBody] AutenticarUsuarioCommand command) { return(Ok(await Mediator.Send(command))); }
public async Task <ICommandResult> Login([FromBody] AutenticarUsuarioCommand command) { var result = (AutenticarUsuarioCommandResult)await _usuarioHandler.HandleAsync(command); return(result); }
public async Task <IActionResult> Authenciar([FromBody] AutenticarUsuarioCommand user) { var resultado = await _commandAutenticar.Handle(user).ConfigureAwait(true) as CommandResult; return(Accepted(resultado)); }
public async Task <string> Autenticar(string email, string senha) => (await bus.SendCommand <AutenticarUsuarioCommand, Option <string> >( AutenticarUsuarioCommand.Criar(email, senha)) ).Match( some: token => token, none: () => string.Empty);