Exemple #1
0
        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
            }
        }
Exemple #2
0
 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;
 }
Exemple #4
0
 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;
 }
Exemple #8
0
        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);
        }
Exemple #9
0
 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;
 }
Exemple #10
0
 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);
 }