protected override void Load(ContainerBuilder builder) { builder.RegisterType <CustomerCredentialsService>() .As <ICustomerCredentialsService>() .SingleInstance(); builder.RegisterType <AdminCredentialsService>() .As <IAdminCredentialsService>() .SingleInstance(); builder.Register(context => { var connectionMultiplexer = ConnectionMultiplexer.Connect(_appSettings.CredentialsService.Redis.ConnString); return(connectionMultiplexer); }).As <IConnectionMultiplexer>().SingleInstance(); builder.RegisterType <PasswordResetService>() .As <IPasswordResetService>() .SingleInstance() .WithParameter("maxAllowedRequestsNumber", _appSettings.CredentialsService.LimitationSettings.MaxAllowedRequestsNumber) .WithParameter("instanceName", _appSettings.CredentialsService.Redis.InstanceName) .WithParameter("monitoredPeriod", _appSettings.CredentialsService.LimitationSettings.MonitoredPeriod) .WithParameter("identifierTimeSpan", _appSettings.CredentialsService.IdentifierTimeSpan) .WithParameter("resetIdentifierLength", _appSettings.CredentialsService.ResetIdentifierLength); builder.RegisterType <ResetIdentifierService>() .As <IResetIdentifierService>() .SingleInstance() .WithParameter("maxAllowedRequestsNumber", _appSettings.CredentialsService.LimitationSettings.MaxAllowedRequestsNumber) .WithParameter("instanceName", _appSettings.CredentialsService.Redis.InstanceName) .WithParameter("monitoredPeriod", _appSettings.CredentialsService.LimitationSettings.MonitoredPeriod) .WithParameter("identifierTimeSpan", _appSettings.CredentialsService.IdentifierTimeSpan) .WithParameter("resetIdentifierLength", _appSettings.CredentialsService.ResetIdentifierLength); builder.RegisterType <Sha256HashingUtil>() .AsSelf() .SingleInstance(); var passwordRules = new PasswordValidationRulesDto { AllowWhiteSpaces = _appSettings.CredentialsService.PasswordValidationSettings.AllowWhiteSpaces, MinLength = _appSettings.CredentialsService.PasswordValidationSettings.MinLength, MinUpperCase = _appSettings.CredentialsService.PasswordValidationSettings.MinUpperCase, MinLowerCase = _appSettings.CredentialsService.PasswordValidationSettings.MinLowerCase, MinNumbers = _appSettings.CredentialsService.PasswordValidationSettings.MinNumbers, AllowedSpecialSymbols = _appSettings.CredentialsService.PasswordValidationSettings.AllowedSpecialSymbols, MinSpecialSymbols = _appSettings.CredentialsService.PasswordValidationSettings.MinSpecialSymbols, MaxLength = _appSettings.CredentialsService.PasswordValidationSettings.MaxLength, }; builder.RegisterType <PasswordValidator>() .WithParameter(TypedParameter.From(passwordRules)) .As <IPasswordValidator>() .SingleInstance(); builder.RegisterType <PartnerCredentialsService>() .As <IPartnerCredentialsService>() .SingleInstance(); builder.RegisterType <Base34Util>() .As <IBase34Util>() .SingleInstance(); builder.RegisterType <CredentialsGeneratorService>() .As <ICredentialsGeneratorService>() .SingleInstance(); builder.RegisterType <SettingsService>() .As <ISettingsService>() .WithParameter(TypedParameter.From(_appSettings.CredentialsService.PinCodeLength)) .SingleInstance(); }
protected override void Load(ContainerBuilder builder) { builder.RegisterType <StartupManager>() .AsSelf() .SingleInstance(); builder.RegisterType <ShutdownManager>() .AsSelf() .AutoActivate() .SingleInstance(); builder.RegisterType <CustomerService>() .As <ICustomerService>() .SingleInstance(); builder.RegisterType <WalletOperationsService>() .As <IWalletOperationsService>() .WithParameter(TypedParameter.From(_settings.Constants.TokenSymbol)) .SingleInstance(); builder.RegisterType <RequestContext>().As <IRequestContext>().InstancePerLifetimeScope(); builder.RegisterType <LykkePrincipal>().As <ILykkePrincipal>().InstancePerLifetimeScope(); builder.RegisterType <MemoryCacheManager>().As <ICacheManager>(); builder.RegisterType <ReferralService>().As <IReferralService>().SingleInstance(); builder.RegisterType <MobileSettingsReader>() .WithParameter(TypedParameter.From(_mobileSettings.SettingsUrl)) .As <IMobileSettingsReader>() .As <IStartStop>() .SingleInstance(); builder.RegisterType <PushNotificationService>() .As <IPushNotificationService>() .SingleInstance(); builder.RegisterType <PartnersMessagesService>() .As <IPartnersMessagesService>() .SingleInstance(); var passwordRules = new PasswordValidationRulesDto { AllowWhiteSpaces = _settings.PasswordValidationSettings.AllowWhiteSpaces, MinLength = _settings.PasswordValidationSettings.MinLength, MinUpperCase = _settings.PasswordValidationSettings.MinUpperCase, MinLowerCase = _settings.PasswordValidationSettings.MinLowerCase, MinNumbers = _settings.PasswordValidationSettings.MinNumbers, AllowedSpecialSymbols = _settings.PasswordValidationSettings.AllowedSpecialSymbols, MinSpecialSymbols = _settings.PasswordValidationSettings.MinSpecialSymbols, MaxLength = _settings.PasswordValidationSettings.MaxLength, }; builder.RegisterType <PasswordValidator>() .WithParameter(TypedParameter.From(passwordRules)) .As <IPasswordValidator>() .SingleInstance(); builder.RegisterType <OperationsHistoryService>().As <IOperationsHistoryService>(); builder.RegisterInstance(RestService.For <IGoogleApi>(_settings.GoogleAuthSettings.GoogleApiUrl)) .As <IGoogleApi>() .SingleInstance(); builder.RegisterType <AuthService>() .As <IAuthService>() .SingleInstance(); builder.Register(c => ConnectionMultiplexer.Connect(_settings.CacheSettings.RedisConfiguration)) .As <IConnectionMultiplexer>() .SingleInstance(); builder.RegisterType <RedisLocksService>() .WithParameter(TypedParameter.From(RequestsRouteThrottlingByCustomerPattern)) .Keyed <IDistributedLocksService>(DistributedLockPurpose.RouteThrottling) .As <IDistributedLocksService>() .SingleInstance(); builder.RegisterType <RedisLocksService>() .WithParameter(TypedParameter.From(RequestsSignInThrottlingByLoginPattern)) .Keyed <IDistributedLocksService>(DistributedLockPurpose.SigninThrottling) .As <IDistributedLocksService>() .SingleInstance(); builder.RegisterType <DistributedLocksServiceProvider>() .As <IDistributedLocksServiceProvider>(); builder.RegisterType <ExpiringCountersService>() .As <IExpiringCountersService>() .SingleInstance(); builder.RegisterType <SettingsService>() .WithParameter("tokenName", _settings.Constants.TokenSymbol) .WithParameter("usdAssetName", _settings.Constants.UsdAssetName) .WithParameter("baseCurrencyCode", _settings.BaseCurrencyCode) .WithParameter("transitAccountAddress", _settings.TransitAccountAddress) .WithParameter("isPublicBlockchainFeatureDisabled", _settings.IsPublicBlockchainFeatureDisabled) .As <ISettingsService>(); builder.RegisterType <ThrottlingSettingsService>() .WithParameter(TypedParameter.From(_settings.RequestLimitsByCustomer.Select(x => new RouteThrottlingConfigurationItem { Verb = x.Verb, Route = x.Route, FrequencyInSeconds = x.FrequencyInSeconds }))) .WithParameter(TypedParameter.From(new SigninThrottlingConfiguration { WarningThreshold = _settings.FailedLoginAttemptsThrottling.WarningThreshold, LockThreshold = _settings.FailedLoginAttemptsThrottling.LockThreshold, ThresholdPeriod = _settings.FailedLoginAttemptsThrottling.ThresholdPeriod, AccountLockPeriod = _settings.FailedLoginAttemptsThrottling.AccountLockPeriod })) .As <IThrottlingSettingsService>() .SingleInstance(); builder.RegisterType <SigninThrottlingService>() .As <ISigninThrottlingService>() .SingleInstance(); builder.RegisterType <CurrencyConverter>() .As <ICurrencyConverter>() .SingleInstance(); builder.RegisterType <PartnersPaymentsResponseFormatter>() .AsSelf() .SingleInstance(); builder.RegisterType <PublicWalletLinkingService>() .As <IPublicWalletLinkingService>() .SingleInstance(); builder.RegisterType <PublicWalletTransferService>() .As <IPublicWalletTransferService>() .SingleInstance(); builder.RegisterType <NotificationMessagesService>() .As <INotificationMessagesService>() .SingleInstance(); }
public PasswordValidator(PasswordValidationRulesDto validationRules) { _validationRules = validationRules; }