private async Task AttachAccountToContext(HttpContext context, ColonyManagerDbContext colonyManagerDbContext, string token) { try { var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_appSettings.Secret); tokenHandler.ValidateToken(token, new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(key), ValidateIssuer = false, ValidateAudience = false, // set clockskew to zero so tokens expire exactly at token expiration time (instead of 5 minutes later) ClockSkew = TimeSpan.Zero }, out SecurityToken validatedToken); var jwtToken = (JwtSecurityToken)validatedToken; var accountId = int.Parse(jwtToken.Claims.First(x => x.Type == "Id").Value); // attach account to context on successful jwt validation context.Items["Account"] = await colonyManagerDbContext.Accounts.Where(x => x.Id == accountId).SingleOrDefaultAsync(); } catch { // do nothing if jwt validation fails // account is not attached to context so request won't have access to secure routes } }
public ColonyService(ColonyManagerDbContext dbContext, IMapper mapper, ILogger <ColonyService> logger, IValidator <AddColonyRequestDto> validator) { _mapper = mapper; _logger = logger; _dbContext = dbContext; _addValidator = validator; }
public ConfigGenericGroupService(IMapper mapper, ILogger <ConfigGenericGroupService> logger, ColonyManagerDbContext dbContext, IValidator <AddConfigGenericGroupDto> addConfigGenericGroupValidator, IValidator <UpdateConfigGenericGroupRequestDto> updateConfigGenericGroupValidator) { _mapper = mapper; _logger = logger; _dbContext = dbContext; _addConfigGenericGroupValidator = addConfigGenericGroupValidator; _updateConfigGenericGroupvalidator = updateConfigGenericGroupValidator; }
public ConfigGenericItemService(ILogger <ConfigGenericItemService> logger, IMapper mapper, ColonyManagerDbContext colonyManagerDbContext, IValidator <AddConfigGenericItemRequestDto> addConfigGenericItemValidator, IValidator <UpdateConfigGenericItemRequestDto> updateValidator) { _logger = logger; _mapper = mapper; _dbContext = colonyManagerDbContext; _addConfigGenericItemValidator = addConfigGenericItemValidator; _updateValidator = updateValidator; }
public PeopleInternetInformationService(IMapper mapper, ILogger <PeopleInternetInformationService> logger, ColonyManagerDbContext dbContext, IValidator <AddPeopleInternetInformationRequestDto> addValidator, IValidator <UpdatePeopleInternetInformationRequestDto> updateValidator) { _dbContext = dbContext; _logger = logger; _mapper = mapper; _addValidator = addValidator; _updateValidator = updateValidator; }
public ConfigGenericItemExtentionValueService(ColonyManagerDbContext dbContext, ILogger <ConfigGenericItemExtentionValueService> logger, IMapper mapper, IValidator <AddConfigGenericItemExtentionValueRequestDto> addValidator, IValidator <UpdateConfigGenericItemExtentionValueRequestDto> updateValidator) { _dbContext = dbContext; _logger = logger; _mapper = mapper; _addValidator = addValidator; _updateValidator = updateValidator; }
public SystemDataTypeService(ColonyManagerDbContext dbContext, ILogger <SystemDataTypeService> logger, IMapper mapper, IValidator <AddSystemDataTypeRequestDto> addValidator, IValidator <UpdateSystemDataTypeRequestDto> updateValidator) { _dbContext = dbContext; _mapper = mapper; _logger = logger; _addValidator = addValidator; _updateValidator = updateValidator; }
public async Task Invoke(HttpContext context, ColonyManagerDbContext colonyManagerDbContext) { var token = context.Request.Headers["Authorization"].FirstOrDefault()?.Split(" ").Last(); if (token != null) { await AttachAccountToContext(context, colonyManagerDbContext, token); } await _next(context); }
public AccountService(IMapper mapper, IOptions <AppSettings> appSettings, ColonyManagerDbContext dbContext, IEmailService emailService, IValidator <AuthenticateRequestDto> authenticateRequestValidator, IValidator <ForgotPasswordRequestDto> forgotPasswordRequestValidator, IValidator <RegisterRequestDto> registerRequestValidator, IValidator <CreateAccountRequestDto> createAccountRequestValidator, IValidator <UpdateRequestDto> updateRequestValidator) { _mapper = mapper; _appSettings = appSettings.Value; _dbContext = dbContext; _emailService = emailService; _authenticateRequestValidator = authenticateRequestValidator; _forgotPasswordRequestValidator = forgotPasswordRequestValidator; _registerRequestValidator = registerRequestValidator; _createAccountRequestValidator = createAccountRequestValidator; _updateRequestValidator = updateRequestValidator; }
public static async Task <int> GetNextIdConfigItemExtentionValueAsync(AddConfigGenericItemExtentionValueRequestDto request, ColonyManagerDbContext dbContext) { return(await dbContext.Set <ConfigGenericItemExtensionValue>() .Where(x => x.GroupId == request.GroupId && x.ItemId == request.ItemId && x.ExtentionId == request.ExtentionId) .DefaultIfEmpty() .MaxAsync(x => (int?)x.Id) + 1 ?? 1); }