public static void AddCustomBindings(this IServiceCollection services, IConfiguration configuration) { IMongoClient client = new MongoClient(configuration.Get("ConnectionString")); services.AddInstance<IMongoClient>(client); services.AddInstance<IMongoDatabase>(client.GetDatabase("VnextDB")); services.AddScoped<ITimesheetService, TimesheetService>(); }
public static IServiceCollection AddDefaultServices(this IServiceCollection services, IServiceProvider defaultProvider) { var runtimeServices = defaultProvider.GetRequiredService<IRuntimeServices>(); foreach (var service in runtimeServices.Services) { services.AddInstance(service, defaultProvider.GetRequiredService(service)); } services.AddInstance(runtimeServices); return services; }
public static IServiceCollection AddCustomPageCore(this IServiceCollection serviceCollection) { serviceCollection.AddTransient<IWidgetHarvester, WidgetHarvester>(); serviceCollection.AddInstance<IModule>(new CustomModule()); return serviceCollection; }
public static IIdentityServerBuilder AddIdentityServer(this IServiceCollection services, Action<IdentityServerOptions> setupAction = null) { services.AddAuthentication(); var options = new IdentityServerOptions(); if (setupAction != null) { setupAction(options); } services.AddInstance(options); services.AddTransient<IdentityServerContext>(); services.AddEndpoints(options.Endpoints); services.AddCoreValidators(); services.AddPluggableValidators(); services.AddResponseGenerators(); services.AddSecretParsers(); services.AddSecretValidators(); services.AddInMemoryTransientStores(); services.AddCoreServices(); services.AddHostServices(); return new IdentityServerBuilder(services); }
public static IServiceCollection AddEndpoints(this IServiceCollection services, EndpointOptions endpoints) { var map = new Dictionary<string, Type>(); if (endpoints.EnableTokenEndpoint) { map.Add(Constants.RoutePaths.Oidc.Token, typeof(TokenEndpoint)); } if (endpoints.EnableDiscoveryEndpoint) { map.Add(Constants.RoutePaths.Oidc.DiscoveryConfiguration, typeof(DiscoveryEndpoint)); } if (endpoints.EnableUserInfoEndpoint) { map.Add(Constants.RoutePaths.Oidc.UserInfo, typeof(UserInfoEndpoint)); } if (endpoints.EnableIntrospectionEndpoint) { map.Add(Constants.RoutePaths.Oidc.Introspection, typeof(IntrospectionEndpoint)); } if (endpoints.EnableAuthorizeEndpoint) { map.Add(Constants.RoutePaths.Oidc.Authorize, typeof(AuthorizeEndpoint)); } services.AddInstance<IEndpointRouter>(new EndpointRouter(map)); foreach (var item in map) { services.AddTransient(item.Value); } return services; }
public static void UseBootstrapper(this IServiceCollection services, params string[] assemblyNames) { var container = new Container(); var bootstrapper = new Bootstrapper(container); bootstrapper.ScanAssemblies(assemblyNames); services.AddInstance(bootstrapper); container.Populate(services); }
public static IServiceCollection AddHtmlLocalization(this IServiceCollection services) { services.AddSingleton<IHtmlLocalizerFactory, HtmlLocalizerFactory>(); services.AddTransient(typeof(IHtmlLocalizer<>), typeof(HtmlLocalizer<>)); services.AddTransient(typeof(IViewLocalizer), typeof(ViewLocalizer)); if (!services.Any(sd => sd.ServiceType == typeof(IHtmlEncoder))) { services.AddInstance<IHtmlEncoder>(HtmlEncoder.Default); } return services.AddLocalization(); }
public static IServiceCollection AddWebApiConventions(this IServiceCollection services) { services.ConfigureOptions<WebApiCompatShimOptionsSetup>(); // The constructors on DefaultContentNegotiator aren't DI friendly, so just // new it up. services.AddInstance<IContentNegotiator>(new DefaultContentNegotiator()); services.Configure<MvcOptions>(options => { options.ValidationExcludeFilters.Add(typeof(HttpRequestMessage)); }); return services; }
public static IServiceCollection AddHost( this IServiceCollection services, Action<IServiceCollection> additionalDependencies) { services.AddFileSystems(); // Caching - Move out services.AddInstance<ICacheContextAccessor>(new CacheContextAccessor()); services.AddSingleton<ICache, Cache>(); additionalDependencies(services); services.AddTransient<IOrchardShellHost, DefaultOrchardShellHost>(); return services.AddFallback(); }
public static IServiceCollection ConfigureOAuthBearerAuthenticationOptions(this IServiceCollection services, String rsaKeyPath) { if (services == null) throw new ArgumentNullException(nameof(services)); //Configure OAuthBearerAuthenticationOptions RsaSecurityKey key = LoadRsaSecurityKey(rsaKeyPath); services.Configure<JwtBearerOptions>(options => { options.TokenValidationParameters.ValidIssuer = TokenIssuer; options.TokenValidationParameters.ValidAudience = TokenAudience; options.TokenValidationParameters.IssuerSigningKey = key; options.AutomaticAuthenticate = true; }); //Register SigningCredentials used by AuthController var signingCredentials = new SigningCredentials(key,SecurityAlgorithms.RsaSha256Signature); services.AddInstance(signingCredentials); return services; }
/// <summary> /// Adds an ImageUploader implementation to services depending on configuration. /// </summary> public static void AddImageUploader(this IServiceCollection services, string bucketName, string applicationName) { services.AddInstance<ImageUploader>(new ImageUploader(bucketName, applicationName)); }
public static void AddGraphAPIProvider(this IServiceCollection services, IConfiguration configuration) { GraphAPIProvider graphPrvdr = new GraphAPIProvider(configuration); services.AddInstance<GraphAPIProvider>(graphPrvdr); services.AddTransient<IGraphAPIProvider, GraphAPIProvider> (); }
public static void AddPageAuthorization(this IServiceCollection services) { services.AddAuthorization(options => { options.AddPolicy("PageAllowance", delegate (AuthorizationPolicyBuilder policy) { policy.Requirements.Add(new PageAuthorizationRequirement()); //policy.RequireRole("SystemAdministrator", "Administrator", "Editor", "RestrictedEditor", "Visitor", "RestrictedVisitor"); }); }); services.AddInstance<IAuthorizationHandler>(new PageAllowanceAuthorizationHandler()); }
public static IServiceCollection AddCIRunner(this IServiceCollection self,int MaxThreads = 4, int MaxTimeLimit = 1000 * 60 * 20) { return self.AddInstance(new CIRunner(MaxThreads, MaxTimeLimit)); }
public static void AddCacheProvider(this IServiceCollection services, IConfiguration configuration) { CacheProvider cachePrvdr = new CacheProvider(configuration); services.AddInstance<CacheProvider>(cachePrvdr); services.AddTransient<ICacheProvider, CacheProvider > (); }
internal static IServiceCollection AddFallback(this IServiceCollection services) { services.AddInstance<IRuntimeServices>(new ServiceManifest(services)); return services; }
public static IServiceCollection AddPlatformAbstractions(this IServiceCollection services) { services.AddInstance(PlatformServices.Default.Application); services.AddInstance(PlatformServices.Default.Runtime); return services; }
public static void AddKeyVaultRepositories(this IServiceCollection services, IConfiguration configuration) { KeyVaultScampClient kvsvc = new KeyVaultScampClient(configuration); services.AddInstance<KeyVaultScampClient>(kvsvc); services.AddTransient<IKeyRepository, KeyRepository>(); }