public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { Intimidator intimidator = null; string clientId = context.HttpContext.Request.Headers[AuthDefinition.CLIENT_ID_HEADER].ToString(); if (!string.IsNullOrEmpty(clientId)) { var intimidatorRepository = context.HttpContext.RequestServices.GetService <IintimidatorRepository>(); intimidator = await intimidatorRepository.SelectByClientIdAsync(clientId, null); if (intimidator != null) { context.RouteData.Values.Add(AuthDefinition.INTIMIDATOR, intimidator); } } if (intimidator == null) { context.Result = new UnauthorizedResult(); } else { await next(); } }
public async Task <Intimidator> InsertAsync(Intimidator intimidator, string cryptoPwd) { intimidator.ClientId = Guid.NewGuid().ToString("N"); intimidator.ClientSecret = new PasswordCrypto(intimidator.ClientSecret, cryptoPwd).Encrypt(); intimidator.StartToScareData = Time.GetSystemNow(); return(await new IntimidatorData(_context).InsertAsync(intimidator)); }
internal async static Task <int> GetIntimidatorId(ClaimsPrincipal user, IintimidatorRepository intimidatorRepository) { Intimidator intimidator = await GetIntimidatorAsync(user, intimidatorRepository); if (intimidator != null) { return(intimidator.Id); } return(0); }
public async Task <Intimidator> InsertAsync(Intimidator intimidator) { try { _context.Intimidators.Add(intimidator); int affectedRows = await _context.SaveChangesAsync(); if (affectedRows > 0) { return(intimidator); } } catch (Exception) { } return(null); }
public async Task <Client> FindClientByIdAsync(string clientId) { Intimidator intimidator = await _intimidatorRepository.SelectByClientIdAsync(clientId, Environment.GetEnvironmentVariable(AuthHelper.CRYPTO_PASSWORD_VAR_NAME)); if (intimidator != null) { return(new Client { ClientId = clientId, AllowedGrantTypes = GrantTypes.ClientCredentials, ClientSecrets = { new Secret(intimidator.ClientSecret.Sha256()) }, AllowedScopes = { "api1" }, AccessTokenLifetime = 86400 }); } return(null); }