public static IOcelotAdministrationBuilder AddAdministration(this IOcelotBuilder builder, string path, Action <JwtBearerOptions> configureOptions)
        {
            var administrationPath = new AdministrationPath(path);

            builder.Services.AddSingleton <OcelotMiddlewareConfigurationDelegate>(IdentityServerMiddlewareConfigurationProvider.Get);

            if (configureOptions != null)
            {
                AddIdentityServer(configureOptions, builder);
            }

            builder.Services.AddSingleton <IAdministrationPath>(administrationPath);
            return(new OcelotAdministrationBuilder(builder.Services, builder.Configuration));
        }
        public static IOcelotAdministrationBuilder AddAdministration(this IOcelotBuilder builder, string path, Action <IdentityServerAuthenticationOptions> configureOptions)
        {
            var administrationPath = new AdministrationPath(path);

            builder.Services.AddSingleton(IdentityServerMiddlewareConfigurationProvider.Get);

            if (configureOptions != null)
            {
                builder.Services
                .AddAuthentication(IdentityServerAuthenticationDefaults.AuthenticationScheme)
                .AddIdentityServerAuthentication(configureOptions);
            }

            builder.Services.AddSingleton <IAdministrationPath>(administrationPath);

            return(new OcelotAdministrationBuilder(builder.Services, builder.Configuration));
        }
        public static IOcelotAdministrationBuilder AddAdministration(this IOcelotBuilder builder, string path, string secret)
        {
            var administrationPath = new AdministrationPath(path);

            builder.Services.AddSingleton <OcelotMiddlewareConfigurationDelegate>(IdentityServerMiddlewareConfigurationProvider.Get);

            //add identity server for admin area
            var identityServerConfiguration = IdentityServerConfigurationCreator.GetIdentityServerConfiguration(secret);

            if (identityServerConfiguration != null)
            {
                AddIdentityServer(identityServerConfiguration, administrationPath, builder, builder.Configuration);
            }

            builder.Services.AddSingleton <IAdministrationPath>(administrationPath);
            return(new OcelotAdministrationBuilder(builder.Services, builder.Configuration));
        }
 private void GivenTheAdminPath()
 {
     _adminPath = new AdministrationPath("wooty");
     _serviceCollection.AddSingleton <IAdministrationPath>(_adminPath);
 }