示例#1
0
 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;
        }
示例#9
0
        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());
        }
示例#14
0
 public static IServiceCollection AddCIRunner(this IServiceCollection self,int MaxThreads = 4, int MaxTimeLimit = 1000 * 60 * 20)
 {
     return self.AddInstance(new CIRunner(MaxThreads, MaxTimeLimit));
 }
示例#15
0
 public static void AddCacheProvider(this IServiceCollection services, IConfiguration configuration)
 {
     CacheProvider cachePrvdr = new CacheProvider(configuration);
     services.AddInstance<CacheProvider>(cachePrvdr);
     services.AddTransient<ICacheProvider, CacheProvider > ();
 }
示例#16
0
        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>();
 }