/// <summary> /// Reloads the configuration if it has changed since the last time we fetched it. /// </summary> private void RefreshConfiguration() { if (_SharedConfiguration == null) { _SharedConfiguration = Factory.ResolveSingleton <ISharedConfiguration>(); } var configurationChangedUtc = _SharedConfiguration.GetConfigurationChangedUtc(); if (_ConfigurationLastParsed < configurationChangedUtc) { _ConfigurationLastParsed = configurationChangedUtc; var configuration = _SharedConfiguration.Get(); var allowDomains = (configuration.GoogleMapSettings.AllowCorsDomains ?? "").Trim(); _CorsEnabled = configuration.GoogleMapSettings.EnableCorsSupport; _AllowAllDomains = allowDomains == "*"; _AllowedDomains = _AllowAllDomains ? new string[0] : allowDomains .Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries) .Select(r => r.Trim().ToLowerInvariant()) .Distinct() .ToArray(); } }
/// <summary> /// See interface docs. /// </summary> /// <param name="sharedConfiguration"></param> public void SharedConfigurationChanged(ISharedConfiguration sharedConfiguration) { _Wrapped.Enabled = sharedConfiguration .Get() .GoogleMapSettings .EnableCompression; }
/// <summary> /// See interface docs. /// </summary> /// <param name="settings"></param> public void Connect(XPlaneSettings settings) { if (_SharedConfig == null) { _SharedConfig = Factory.ResolveSingleton <ISharedConfiguration>(); } if (_XplaneUdp != null) { Disconnect(); } var xplaneUdp = Factory.Resolve <IXPlaneUdp>(); xplaneUdp.Initialise( settings.Host, settings.XPlanePort, settings.ReplyPort ); xplaneUdp.SendRPOS(1); xplaneUdp.StartListener(); _XplaneUdp = xplaneUdp; _XplaneUdp.RposReplyReceived += XPlaneUdp_RposReplyReceived; }
/// <summary> /// Initialises the object. /// </summary> private void Initialise() { if (!_Initialised) { lock (_QueueLock) { if (!_Initialised) { _Initialised = true; QueueRepository.AddQueue(this); _SharedConfiguration = Factory.Singleton.Resolve <ISharedConfiguration>().Singleton; _Clock = Factory.Singleton.Resolve <IClock>(); _IsRunningUnderTestEnvironment = Factory.Singleton.Resolve <IRuntimeEnvironment>().Singleton.IsTest; // Give plugins two ways to set the provider - either they can fetch the singleton for this // object and set the provider to their own implementation or they can register their provider // as the default implementation for IAircraftOnlineLookupProvider. if (Provider == null) { Provider = Factory.Singleton.Resolve <IAircraftOnlineLookupProvider>(); CheckProviderSanity(); } _SecondsToNextLookup = Provider.MinSecondsBetweenRequests; var heartbeatService = Factory.Singleton.Resolve <IHeartbeatService>().Singleton; heartbeatService.FastTick += Heartbeat_FastTick; } } } }
public static IServiceCollection AddSharedConfiguration(this IServiceCollection services, SharedConfiguration sharedConfiguration) { IServiceProvider serviceProvider = services.AddSingleton <ISharedConfiguration>(sharedConfiguration).BuildServiceProvider(); SharedConfiguration = serviceProvider.GetRequiredService <ISharedConfiguration>(); return(services); }
/// <summary> /// Creates a new object. /// </summary> public ImageServer() { _ImageServerConfiguration = Factory.ResolveSingleton <IImageServerConfiguration>(); _SharedConfiguration = Factory.ResolveSingleton <ISharedConfiguration>(); _Graphics = Factory.ResolveSingleton <IWebSiteGraphics>(); _AircraftPictureManager = Factory.ResolveSingleton <IAircraftPictureManager>(); _AutoConfigPictureFolderCache = Factory.ResolveSingleton <IAutoConfigPictureFolderCache>(); }
/// <summary> /// Returns true if minification is enabled. /// </summary> private bool IsEnabled() { if (_SharedConfiguration == null) { _SharedConfiguration = Factory.Singleton.ResolveSingleton <ISharedConfiguration>(); } return(_SharedConfiguration.Get().GoogleMapSettings.EnableMinifying); }
/// <summary> /// Creates a new object. /// </summary> public AutoConfigCompressionManipulator() { _SharedConfiguration = Factory.ResolveSingleton <ISharedConfiguration>(); _Wrapped = Factory.Resolve <ICompressResponseManipulator>(); SharedConfigurationChanged(_SharedConfiguration); _SharedConfiguration.AddWeakSubscription(this); }
/// <summary> /// Creates a new object. /// </summary> public BasicAuthenticationFilter() { _SharedConfiguration = Factory.Singleton.ResolveSingleton <ISharedConfiguration>(); _AuthenticationConfiguration = Factory.Singleton.ResolveSingleton <IAuthenticationConfiguration>(); _UserManager = Factory.Singleton.ResolveSingleton <IUserManager>(); _UserCache = Factory.Singleton.Resolve <IUserCache>(); _UserCache.LoadAllUsers = false; _UserCache.TagAction = (cachedUser) => cachedUser.Tag = new CachedUserTag(); _UserCache.Refresh(); }
/// <summary> /// See interface docs. /// </summary> public void Initialise(IWebSiteProvider provider) { if (provider == null) { throw new ArgumentNullException("provider"); } Provider = provider; _SharedConfiguration = Factory.Singleton.Resolve <ISharedConfiguration>().Singleton; _FeedManager = Factory.Singleton.Resolve <IFeedManager>().Singleton; _EmptyAircraftList = Factory.Singleton.Resolve <ISimpleAircraftList>(); }
/// <summary> /// See interface docs. /// </summary> private void Initialise() { if (!_Initialised) { _Initialised = true; _SharedConfiguration = Factory.ResolveSingleton <ISharedConfiguration>(); _FeedManager = Factory.ResolveSingleton <IFeedManager>(); _EmptyAircraftList = Factory.Resolve <ISimpleAircraftList>(); _FileSystemProvider = Factory.Resolve <IFileSystemProvider>(); _Clock = Factory.Resolve <IClock>(); } }
private static void AddUrlPrefixes(ISharedConfiguration configuration, ref UrlPrefixCollection urlPrefixesColl) { string urlPrefixesValue = configuration.GetValue("Hosting:urlPrefixes"); if (urlPrefixesValue != null) { string[] prefixsValues = urlPrefixesValue.Split(" "); foreach (string prefix in prefixsValues) { urlPrefixesColl.Add(prefix); } } }
public static async Task Main(string[] args) { ISharedConfiguration SharedConfiguration = HostBuilderExtensions.CreateConfigurationBuilder().Configuration(); IHostBuilder builder = CreateHostBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseConfiguration(SharedConfiguration) .UseStartup <Startup>() .CompleteHostConfiguration(SharedConfiguration); }); await builder.Build().RunAsync(); }
/// <summary> /// See interface docs. /// </summary> /// <param name="environment"></param> /// <param name="textContent"></param> public void ManipulateTextResponse(IDictionary <string, object> environment, TextContent textContent) { var configuration = _SharedConfiguration; if (configuration == null) { configuration = Factory.ResolveSingleton <ISharedConfiguration>(); _SharedConfiguration = configuration; } if (configuration.Get().GoogleMapSettings.EnableBundling) { var context = PipelineContext.GetOrCreate(environment); var htmlDocument = new HtmlDocument(); htmlDocument.LoadHtml(textContent.Content); var parserErrors = new List <string>(); if (ReplaceScriptLinksWithLinkToBundle(context, htmlDocument, parserErrors)) { if (parserErrors.Count != 0) { htmlDocument.LoadHtml(textContent.Content); var node = htmlDocument.DocumentNode.AppendChild(htmlDocument.CreateComment("\r\n<!-- BUNDLE PARSER ERROR -->\r\n")); foreach (var parserError in parserErrors) { node = htmlDocument.DocumentNode.InsertAfter(htmlDocument.CreateComment($"<!-- {parserError} -->\r\n"), node); } } var buffer = new StringBuilder(); using (var writer = new StringWriter(buffer)) { htmlDocument.Save(writer); } textContent.Content = buffer.ToString(); } } }
/// <summary> /// See interface docs. /// </summary> public void Start() { if (!_Started) { _Started = true; _Clock = Factory.Singleton.Resolve <IClock>(); Downloader = Factory.Singleton.Resolve <IAirPressureDownloader>(); Lookup = Factory.Singleton.Resolve <IAirPressureLookup>(); _SharedConfiguration = Factory.Singleton.ResolveSingleton <ISharedConfiguration>(); Enabled = _SharedConfiguration.Get().BaseStationSettings.DownloadGlobalAirPressureReadings; _SharedConfiguration.ConfigurationChanged += SharedConfiguration_ConfigurationChanged; if (_BackgroundWorker == null) { _BackgroundWorker = Factory.Singleton.Resolve <IBackgroundWorker>(); _BackgroundWorker.DoWork += BackgroundWorker_DoWork; } _HeartbeatService = Factory.Singleton.ResolveSingleton <IHeartbeatService>(); _HeartbeatService.SlowTick += HeartbeatService_SlowTick; } }
/// <summary> /// Creates a new object. /// </summary> public AircraftSanityChecker() { _SharedConfiguration = Factory.ResolveSingleton <ISharedConfiguration>(); }
/// <summary> /// Creates a new object. /// </summary> public MainPresenter() { _Clock = Factory.Resolve <IClock>(); _LastAutoSavePolarPlots = _Clock.UtcNow; _SharedConfiguration = Factory.ResolveSingleton <ISharedConfiguration>(); }
public OidcConfigurationController(ISharedConfiguration sharedConfiguration, ILogger <OidcConfigurationController> logger) { SharedConfiguration = sharedConfiguration; _logger = logger; }
/// <summary> /// Creates a new object. /// </summary> public BasicAuthenticationFilter() { _SharedConfiguration = Factory.ResolveSingleton <ISharedConfiguration>(); _AuthenticationConfiguration = Factory.ResolveSingleton <IAuthenticationConfiguration>(); _BasicAuthentication = new BasicAuthenticationHelper(); }
/// <summary> /// Creates a new object. /// </summary> public ImageServerConfiguration() { _SharedConfiguration = Factory.ResolveSingleton <ISharedConfiguration>(); ImageFileManager = Factory.Resolve <IImageFileManager>(); }
/// <summary> /// See interface docs. /// </summary> /// <param name="sharedConfiguration"></param> public void SharedConfigurationChanged(ISharedConfiguration sharedConfiguration) { Refresh(); }
public OidcContextController(SignInManager <ApplicationUser> signInManager, ILogger <OidcContextController> logger, IHttpContextAccessor httpContextAccessor, ISharedConfiguration sharedConfiguration) : base(signInManager, logger, httpContextAccessor, sharedConfiguration) { }
public MapPluginHtmlManipulator() { _SharedConfiguration = Factory.ResolveSingleton <ISharedConfiguration>(); }
/// <summary> /// Creates a new object. /// </summary> public AudioServer() { _SharedConfiguration = Factory.Singleton.ResolveSingleton <ISharedConfiguration>(); }
public LogoutModel(SignInManager <ApplicationUser> signInManager, ILogger <LogoutModel> logger, ISharedConfiguration sharedConfiguration) { _signInManager = signInManager; _logger = logger; SharedConfiguration = sharedConfiguration; }
public void ConfigureServices(IServiceCollection services) { IdentityModelEventSource.ShowPII = true; //Add this line ISharedConfiguration SharedConfiguration = services.RegisterSharedConfiguration(); string appName = SharedConfiguration.GetValue("Tracing:appName"); string traceFile = SharedConfiguration.GetTraceFilePath(); TraceLevel traceLevel = (TraceLevel)System.Enum.Parse(typeof(TraceLevel), SharedConfiguration.GetValue("Tracing:traceLevel")); Fs.Core.Trace.Init(appName, traceLevel, traceFile); Fs.Core.Trace.Write("ConfigureServices()", "Started", TraceLevel.Info); SourceSwitch sourceSwitch = new SourceSwitch("POCTraceSwitch", "Verbose"); AppLoggerFactory = LoggerFactory.Create(builder => { builder.AddTraceSource(sourceSwitch, Fs.Core.Trace.TraceListener); }); services.AddDbContext <ApplicationDbContext>(options => options.UseLoggerFactory(AppLoggerFactory). UseSqlServer(SharedConfiguration.GetConnectionString("DefaultConnection"))); services.AddDbContext <LoggerContext>(options => options.UseLoggerFactory(AppLoggerFactory). UseSqlServer(SharedConfiguration.GetConnectionString("LoggerConnection"))); services.AddDbContext <OrderingContext>(options => options.UseLoggerFactory(AppLoggerFactory). UseSqlServer(SharedConfiguration.GetConnectionString("DefaultConnection"))); services.AddLogging(config => config.ClearProviders()) .AddLogging(config => config.AddTraceSource(sourceSwitch, Fs.Core.Trace.TraceListener)); services.RegisterServices(SharedConfiguration, AppLoggerFactory); services.AddHttpContextAccessor(); /*services.AddDefaultIdentity<ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true) * .AddEntityFrameworkStores<ApplicationDbContext>(); * * services.AddIdentityServer() * .AddApiAuthorization<ApplicationUser, ApplicationDbContext>(options => * { * options.Clients.Add(new IdentityServer4.Models.Client * { * ClientId = "ClientPOC2", * AllowedGrantTypes = GrantTypes.ClientCredentials, * AllowedScopes = { "WebAPI" }, * ClientSecrets = { new IdentityServer4.Models.Secret("secret".Sha256()) } * }); * options.Clients.Add(new IdentityServer4.Models.Client * { * ClientId = "Fs.Blazor.Client", * ClientSecrets = { new IdentityServer4.Models.Secret("secret".Sha256()) }, * * AllowedGrantTypes = GrantTypes.Code, * RequireConsent = false, * RequirePkce = true, * * AllowedScopes = * { * IdentityServerConstants.StandardScopes.OpenId, * IdentityServerConstants.StandardScopes.Profile * }, * * // where to redirect to after login * RedirectUris = { "https://fs-blazor-client.netpoc.com/signin-oidc" }, * * // where to redirect to after logout * PostLogoutRedirectUris = { "https://fs-blazor-client.netpoc.com/signout-callback-oidc" }, * * AllowedCorsOrigins = { "https://fs-blazor-client.netpoc.com" }, * }); * options.Clients.AddSPA( * "Fs.Angular.Is4.Client", spa => * spa.WithRedirectUri("https://fs-angular-is4-client.netpoc.com/signin-oidc") * .WithLogoutRedirectUri("https://fs-angular-is4-client.netpoc.com/signout-callback-oidc")); * options.Clients.AddSPA( * "Fs.Blazor.Is4.Wasm.Client", spa => * spa.WithRedirectUri("https://fs-blazor-is4-wasm-client.netpoc.com/signin-oidc") * .WithLogoutRedirectUri("https://fs-blazor-is4-wasm-client.netpoc.com/signout-callback-oidc")); * options.Clients.AddSPA( * "Fs.Angular.Client", spa => * spa.WithRedirectUri("https://fs-angular-client.netpoc.com/authentication/login-callback") * .WithLogoutRedirectUri("https://fs-angular-client.netpoc.com/authentication/logout-callback") * .WithScopes(new string[] * { * IdentityServerConstants.StandardScopes.OpenId * })); * options.Clients.AddSPA( * "Fs.Blazor.Wasm.Client", spa => * spa.WithRedirectUri("https://fs-blazor-wasm-client.netpoc.com/authentication/login-callback") * .WithLogoutRedirectUri("https://fs-blazor-wasm-client.netpoc.com/authentication/logout-callback") * //.WithoutClientSecrets() * .WithScopes(new string[] * { * IdentityServerConstants.StandardScopes.OpenId, * IdentityServerConstants.StandardScopes.Profile * })); * * options.Clients["Fs.Angular.Client"].AllowedCorsOrigins.Add("https://fs-angular-client.netpoc.com"); * options.Clients["Fs.Angular.Client"].RedirectUris.Add("https://fs-angular-client.netpoc.com/signin-oidc"); * * options.Clients["Fs.Blazor.Wasm.Client"].AllowedCorsOrigins.Add("https://fs-blazor-wasm-client.netpoc.com"); * options.Clients["Fs.Blazor.Wasm.Client"].RedirectUris.Add("https://fs-blazor-wasm-client.netpoc.com/signin-oidc"); * }); * * services.AddAuthentication() * .AddIdentityServerJwt();*/ var builder = services.AddIdentityServer() .AddInMemoryIdentityResources(Config.Ids) //.AddInMemoryApiResources(Config.Apis) .AddInMemoryClients(Config.Clients) .AddTestUsers(TestUsers.Users); builder.AddDeveloperSigningCredential(); /*services.AddAuthentication() * .AddGoogle("Google", options => * { * options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme; * * options.ClientId = "<insert here>"; * options.ClientSecret = "<insert here>"; * }) * .AddOpenIdConnect("oidc", "Demo IdentityServer", options => * { * options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme; * options.SignOutScheme = IdentityServerConstants.SignoutScheme; * options.SaveTokens = true; * * options.Authority = "https://demo.identityserver.io/"; * //options.RequireHttpsMetadata = false; * options.ClientId = "native.code"; * options.ClientSecret = "secret"; * options.ResponseType = "code"; * options.TokenValidationParameters = new TokenValidationParameters * { * NameClaimType = "name", * RoleClaimType = "role" * }; * });*/ //services.AddRazorPages(); services.AddControllersWithViews(); services.AddAutoMapper(typeof(Fs.Business.Mappings.MappingProfile).Assembly); }
public OidcConfigurationController(IClientRequestParametersProvider clientRequestParametersProvider, ISharedConfiguration sharedConfiguration, ILogger <OidcConfigurationController> logger) { ClientRequestParametersProvider = clientRequestParametersProvider; SharedConfiguration = sharedConfiguration; _logger = logger; }
/// <summary> /// Creates a new object. /// </summary> public UserCache() { _SharedConfiguration = Factory.Singleton.ResolveSingleton <ISharedConfiguration>(); _SharedConfiguration.AddWeakSubscription(this); _UserManager = Factory.Singleton.ResolveSingleton <IUserManager>(); }
public BaseOidcContextController(SignInManager <ApplicationUser> signInManager, ILogger <BaseOidcContextController> logger, IHttpContextAccessor httpContextAccessor, ISharedConfiguration sharedConfiguration) : base(logger, httpContextAccessor) { _signInManager = signInManager; SharedConfiguration = sharedConfiguration; }
public static IServiceCollection RegisterDbContexts(this IServiceCollection services, ISharedConfiguration configuration, ILoggerFactory appLoggerFactory) { services.AddDbContext <LoggerContext>(options => options.UseLoggerFactory(appLoggerFactory). UseSqlServer(configuration.GetConnectionString("LoggerConnection"))); services.AddDbContext <OrderingContext>(options => options.UseLoggerFactory(appLoggerFactory). UseSqlServer(configuration.GetConnectionString("OrderConnection"))); services.AddScoped <IUnitOfWork, SqlUnitOfWork>(); services.AddScoped <ILoggerUnitOfWork, LoggerSqlUnitOfWork>(); return(services); }