public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { try { IServiceJogador serviceJogador = _container.Resolve <IServiceJogador>(); AutenticarJogadorRequest request = new AutenticarJogadorRequest(); request.Email = context.UserName; request.Senha = context.Password; AutenticarJogadorResponse response = serviceJogador.AutenticarJogador(request); if (serviceJogador.IsInvalid()) { if (response == null) { context.SetError("invalid_grant", "Preencha um e-mail válido e uma senha com pelo menos 6 caracteres."); return; } } serviceJogador.ClearNotifications(); if (response == null) { context.SetError("invalid_grant", "Jogador não encontrado!"); return; } var identity = new ClaimsIdentity(context.Options.AuthenticationType); //Definindo as Claims identity.AddClaim(new Claim("Jogador", JsonConvert.SerializeObject(response))); var principal = new GenericPrincipal(identity, new string[] { }); Thread.CurrentPrincipal = principal; context.Validated(identity); } catch (Exception ex) { context.SetError("invalid_grant", ex.Message); return; } }
public JogadorController(IUnitOfWork unitOfWork, IServiceJogador serviceJogador) : base(unitOfWork) { _serviceJogador = serviceJogador; }
public JogadorController(IServiceJogador service, IUnitOfWork unitOfWork) : base(unitOfWork) { _service = service; }
public JogadorController(IServiceJogador serviceJogador, IUnitOfWork unitOfWork) : base(unitOfWork) { this._serviceJogador = serviceJogador; }