示例#1
0
        public WebApiMiddlewareConfiguration(IAppEnvironmentProvider appEnvironmentProvider,
                                             IEnumerable <IWebApiConfigurationCustomizer> webApiConfgurationCustomizers, System.Web.Http.Dependencies.IDependencyResolver webApiDependencyResolver, IWebApiOwinPipelineInjector webApiOwinPipelineInjector)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            if (webApiConfgurationCustomizers == null)
            {
                throw new ArgumentNullException(nameof(webApiConfgurationCustomizers));
            }

            if (webApiDependencyResolver == null)
            {
                throw new ArgumentNullException(nameof(webApiDependencyResolver));
            }

            if (webApiOwinPipelineInjector == null)
            {
                throw new ArgumentNullException(nameof(webApiOwinPipelineInjector));
            }

            _activeAppEnvironment          = appEnvironmentProvider.GetActiveAppEnvironment();
            _webApiConfgurationCustomizers = webApiConfgurationCustomizers;
            _webApiDependencyResolver      = webApiDependencyResolver;
            _webApiOwinPipelineInjector    = webApiOwinPipelineInjector;
        }
        public SqlAndAzureServiceBusBackendJobServerConfiguration(IAppEnvironmentProvider appEnvironmentProvider, JobActivator jobActivator, IAutofacDependencyManager dependencyManager, ILogProvider logProvider)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            if (jobActivator == null)
            {
                throw new ArgumentNullException(nameof(jobActivator));
            }

            if (dependencyManager == null)
            {
                throw new ArgumentNullException(nameof(dependencyManager));
            }

            if (logProvider == null)
            {
                throw new ArgumentNullException(nameof(logProvider));
            }

            _logProvider = logProvider;

            _appEnvironmentProvider = appEnvironmentProvider;
            _jobActivator           = jobActivator;
            _lifetimeScope          = dependencyManager.GetContainer();
        }
        public IdentityServerMiddlewareConfiguration(IAppEnvironmentProvider appEnvironmentProvider,
                                                     IScopesProvider scopesProvider, ICertificateProvider certificateProvider, IDependencyManager dependencyManager)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            if (scopesProvider == null)
            {
                throw new ArgumentNullException(nameof(scopesProvider));
            }

            if (certificateProvider == null)
            {
                throw new ArgumentNullException(nameof(certificateProvider));
            }

            if (dependencyManager == null)
            {
                throw new ArgumentNullException(nameof(dependencyManager));
            }

            _appEnvironmentProvider = appEnvironmentProvider;
            _scopesProvider         = scopesProvider;
            _certificateProvider    = certificateProvider;
            _dependencyManager      = dependencyManager;
        }
        public override async Task Invoke(IOwinContext context)
        {
            IDependencyResolver dependencyResolver = context.GetDependencyResolver();

            IRandomStringProvider randomStringProvider = dependencyResolver.Resolve <IRandomStringProvider>();

            IContentFormatter contentFormatter = dependencyResolver.Resolve <IContentFormatter>();

            if (_baseRedirectUri == null)
            {
                IAppEnvironmentProvider appEnvironmentProvider = dependencyResolver
                                                                 .Resolve <IAppEnvironmentProvider>();

                AppEnvironment activEnvironment = appEnvironmentProvider.GetActiveAppEnvironment();

                _baseRedirectUri = $"{activEnvironment.Security.SSOServerUrl}/connect/authorize?scope={string.Join(" ", activEnvironment.Security.Scopes)}&client_id={activEnvironment.Security.ClientName}&redirect_uri={activEnvironment.GetConfig("ClientHostBaseUri", context.Request.Host.Value)}{activEnvironment.GetConfig("ClientHostVirtualPath", "/")}SignIn&response_type=id_token token";
            }

            string nonce = randomStringProvider.GetRandomNonSecureString(12);

            string stateArgs = string.Join(string.Empty, context.Request.Path.Value.SkipWhile(c => c == '/'));

            string redirectUrl = $"{_baseRedirectUri}&state={stateArgs}&nonce={nonce}";

            context.Response.Redirect(redirectUrl);
        }
示例#5
0
        public override Task Invoke(IOwinContext context)
        {
            IDependencyResolver dependencyResolver = context.GetDependencyResolver();

            if (_App == null)
            {
                IAppEnvironmentProvider appEnvironmentProvider = dependencyResolver.Resolve <IAppEnvironmentProvider>();

                _App = appEnvironmentProvider.GetActiveAppEnvironment();
            }

            IRandomStringProvider randomStringProvider = dependencyResolver.Resolve <IRandomStringProvider>();

            string redirectUriHost = $"{context.Request.Scheme}://{context.Request.Host.Value}{_App.GetHostVirtualPath()}SignIn";
            string redirectUri     = $"{_App.GetSsoUrl()}/connect/authorize?scope={string.Join(" ", _App.Security.Scopes)}&client_id={_App.Security.ClientId}&redirect_uri={redirectUriHost}&response_type=id_token token";

            string pathname = _App.GetHostVirtualPath() + (context.Request.Path.HasValue ? context.Request.Path.Value.Substring(1) : string.Empty);

            string state = $@"{{""pathname"":""{pathname}""}}";

            string nonce = randomStringProvider.GetRandomNonSecureString(12);

            context.Response.Redirect($"{redirectUri}&state={state}&nonce={nonce}");

            return(Task.CompletedTask);
        }
示例#6
0
        public override Task Invoke(IOwinContext context)
        {
            IDependencyResolver dependencyResolver = context.GetDependencyResolver();

            IRandomStringProvider randomStringProvider = dependencyResolver.Resolve <IRandomStringProvider>();

            IAppEnvironmentProvider appEnvironmentProvider = dependencyResolver.Resolve <IAppEnvironmentProvider>();

            AppEnvironment activEnvironment = appEnvironmentProvider.GetActiveAppEnvironment();

            if (_baseRedirectUri == null)
            {
                _baseRedirectUri = $"{activEnvironment.Security.SSOServerUrl}/connect/authorize?scope={string.Join(" ", activEnvironment.Security.Scopes)}&client_id={activEnvironment.Security.ClientName}&redirect_uri={activEnvironment.GetConfig("ClientHostBaseUri", context.Request.Host.Value)}{activEnvironment.GetConfig("ClientHostVirtualPath", "/")}SignIn&response_type=id_token token";
            }

            string pathname = activEnvironment.GetConfig("ClientHostVirtualPath", "/") + (context.Request.Path.HasValue ? context.Request.Path.Value.Substring(1) : string.Empty);

            string state = $@"{{""pathname"":""{pathname}""}}";

            string nonce = randomStringProvider.GetRandomNonSecureString(12);

            string redirectUrl = $"{_baseRedirectUri}&state={state}&nonce={nonce}";

            context.Response.Redirect(redirectUrl);

            return(Task.CompletedTask);
        }
示例#7
0
        public TestClientProvider(IAppEnvironmentProvider appEnvironmentProvider)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            _appEnvironmentProvider = appEnvironmentProvider;
        }
        public SignOutPageMiddlewareConfiguration(IAppEnvironmentProvider appEnvironmentProvider)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            _activeAppEnvironment = appEnvironmentProvider.GetActiveAppEnvironment();
        }
        public DefaultExceptionToHttpErrorMapper(IAppEnvironmentProvider appEnvironmentProvider)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            _activeAppEnvironment = appEnvironmentProvider.GetActiveAppEnvironment();
        }
示例#10
0
        public BitChangeSetManagerClientProvider(IAppEnvironmentProvider appEnvironmentProvider)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            _appEnvironmentProvider = appEnvironmentProvider;
        }
示例#11
0
        public ActiveDirectoryUserServiceProvider(IAppEnvironmentProvider appEnvironmentProvider)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            _activeDirectoryName = appEnvironmentProvider.GetActiveAppEnvironment().GetConfig <string>("ActiveDirectoryName");
        }
示例#12
0
        public MetadataMiddlewareConfiguration(IAppEnvironmentProvider appEnvironmentProvider)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            _appEnvironmentProvider = appEnvironmentProvider;
        }
        public RegexBasedRedirectUriValidator(IAppEnvironmentProvider appEnvironmentProvider)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            _activeAppEnvironment = appEnvironmentProvider.GetActiveAppEnvironment();
        }
示例#14
0
        public RazorViewEngineConfiguration(IAppEnvironmentProvider appEnvironmentProvider)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            _appEnvironmentProvider = appEnvironmentProvider;
        }
示例#15
0
        public BasicDataProtectionProvider(IAppEnvironmentProvider appEnvironmentProvider)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            _appEnvironmentProvider = appEnvironmentProvider;
            _appEnvironment         = appEnvironmentProvider.GetActiveAppEnvironment();
        }
        public TestAppEnvironmentProvider(IAppEnvironmentProvider appEnvironmentProvider, Action <AppEnvironment> appEnvCustomizer = null)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            _appEnvironmentProvider = appEnvironmentProvider;
            _appEnvCustomizer       = appEnvCustomizer;
        }
        public override async Task Invoke(IOwinContext context)
        {
            IDependencyResolver dependencyResolver = context.GetDependencyResolver();

            if (_App == null)
            {
                IAppEnvironmentProvider appEnvironmentProvider = dependencyResolver.Resolve <IAppEnvironmentProvider>();

                _App = appEnvironmentProvider.GetActiveAppEnvironment();
            }

            string defaultPath = _App.GetHostVirtualPath();
            string defaultPathWithoutEndingSlashIfIsNotRoot = defaultPath == "/" ? defaultPath : defaultPath.Substring(0, defaultPath.Length - 1);

            string signInPage = $@"
<html>
    <head>
        <title>Signing in... Please wait</title>
        <script type='application/javascript'>
            var parts = location.hash.replace('#','').split('&');
            var expiresTimeInSeconds = Number(parts[3].split('=')[1]);
            var expiresDate = new Date();
            expiresDate.setTime(expiresDate.getTime() + (expiresTimeInSeconds * 1000));
            var expiresDateAsUTCString = expiresDate.toUTCString();
            for (var i = 0; i < parts.length; i++) {{
                var partStr = parts[i];
                var keyValue = partStr.split('=');
                var key = keyValue[0];
                var value = keyValue[1];
                if (key == 'access_token' || key == 'token_type'){{
                    document.cookie = partStr + ';expires=' + expiresDateAsUTCString + ';path={defaultPathWithoutEndingSlashIfIsNotRoot}';
                }}
                localStorage['{defaultPath}' + key] = value;
            }}
            localStorage['{defaultPath}login_date'] = new Date();
            var state = JSON.parse(decodeURIComponent(localStorage['{defaultPath}state'].replace(/\+/g, ' ')));
            localStorage['{defaultPath}state'] = JSON.stringify(state);
            location = state.pathname || '{defaultPath}';
        </script>
    </head>
    <body>
        <h1>Signing in... Please wait</h1>
    </body>
</html>
";

            context.Response.ContentType = "text/html; charset=utf-8";

            await context.Response.WriteAsync(signInPage, context.Request.CallCancelled);
        }
        public AspNetCoreStaticFilesMiddlewareConfiguration(IAppEnvironmentProvider appEnvironmentProvider, IHostingEnvironment hostingEnvironment)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            if (hostingEnvironment == null)
            {
                throw new ArgumentNullException(nameof(hostingEnvironment));
            }

            _appEnvironmentProvider = appEnvironmentProvider;
            _hostingEnvironment     = hostingEnvironment;
        }
        public DefaultAppMetadataProvider(IEnumerable <IMetadataBuilder> metadataBuilders, IAppEnvironmentProvider appEnvironmentProvider)
        {
            if (metadataBuilders == null)
            {
                throw new ArgumentNullException(nameof(metadataBuilders));
            }

            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            _metadataBuilders       = metadataBuilders;
            _appEnvironmentProvider = appEnvironmentProvider;
        }
        public DefaultCertificateProvider(IAppEnvironmentProvider appEnvironmentProvider, IPathProvider pathProvider)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            if (pathProvider == null)
            {
                throw new ArgumentNullException(nameof(pathProvider));
            }

            _appEnvironmentProvider = appEnvironmentProvider;
            _pathProvider           = pathProvider;
        }
        public WindowsEventsLogStore(IContentFormatter contentFormatter, IAppEnvironmentProvider appEnvironmentProvider)
        {
            if (contentFormatter == null)
            {
                throw new ArgumentNullException(nameof(contentFormatter));
            }

            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            _contentFormatter     = contentFormatter;
            _activeAppEnvironment = appEnvironmentProvider.GetActiveAppEnvironment();
        }
示例#22
0
        public override async Task Invoke(IOwinContext context)
        {
            IDependencyResolver dependencyResolver = context.GetDependencyResolver();

            IAppEnvironmentProvider appEnvironmentProvider = dependencyResolver.Resolve <IAppEnvironmentProvider>();

            AppEnvironment activEnvironment = appEnvironmentProvider.GetActiveAppEnvironment();

            string defaultPath = activEnvironment.GetConfig("ClientHostVirtualPath", "/");

            string signInPage = $@"
<html>
    <head>
        <title>Signing in... Please wait</title>
        <script type='application/javascript'>
            var parts = location.hash.replace('#','').split('&');
            var expireTimeInSeconds = Number(parts[3].split('=')[1]);
            var now = new Date();
            var time = now.getTime();
            var expireTime = time + (expireTimeInSeconds * 1000);
            now.setTime(expireTime);
            var nowAsGMTString = now.toGMTString();
            for (var i = 0; i < parts.length; i++) {{
                var partStr = parts[i];
                var keyValue = partStr.split('=');
                var key = keyValue[0];
                var value = keyValue[1];
                if (key == 'access_token' || key == 'token_type'){{
                    document.cookie = partStr + ';expires=' + nowAsGMTString + ';path={defaultPath}';
                }}
                localStorage[key] = value;
            }}
            localStorage['login_date'] = new Date();
            var state = JSON.parse(decodeURIComponent(localStorage.state.replace(/\+/g, ' ')));
            localStorage['state'] = JSON.stringify(state);
            location = state.pathname || '{defaultPath}';
        </script>
    </head>
    <body>
        <h1>Signing in... Please wait</h1>
    </body>
</html>
";

            context.Response.ContentType = "text/html; charset=utf-8";

            await context.Response.WriteAsync(signInPage);
        }
        public DefaultSSOPageModelProvider(IContentFormatter contentFormatter, IAppEnvironmentProvider appEnvironmentProvider)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            if (contentFormatter == null)
            {
                throw new ArgumentNullException(nameof(contentFormatter));
            }

            _activeAppEnvironment = appEnvironmentProvider.GetActiveAppEnvironment();

            _contentFormatter = contentFormatter;
        }
        public JobSchedulerMiddlewareConfiguration(IEnumerable <IDashboardAuthorizationFilter> authFilters, IAppEnvironmentProvider appEnvironmentProvider)
        {
            if (authFilters == null)
            {
                throw new ArgumentNullException(nameof(authFilters));
            }

            _authFilters = authFilters;

            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            _appEnvironmentProvider = appEnvironmentProvider;
        }
示例#25
0
        public DefaultPageModelProvider(IContentFormatter contentFormatter, IAppEnvironmentProvider appEnvironmentProvider, IUserSettingProvider usersSettingsProvider = null)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            if (contentFormatter == null)
            {
                throw new ArgumentNullException(nameof(contentFormatter));
            }

            _usersSettingsProvider  = usersSettingsProvider;
            _appEnvironmentProvider = appEnvironmentProvider;
            _contentFormatter       = contentFormatter;
        }
        public StaticFilesMiddlewareConfiguration(IAppEnvironmentProvider appEnvironmentProvider,
                                                  IPathProvider pathProvider)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            if (pathProvider == null)
            {
                throw new ArgumentNullException(nameof(pathProvider));
            }

            _appEnvironmentProvider = appEnvironmentProvider;
            _pathProvider           = pathProvider;
        }
        public SingleSignOnClientMiddlewareConfiguration(IAppEnvironmentProvider appEnvironmentProvider,
                                                         ICertificateProvider certificateProvider)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            if (certificateProvider == null)
            {
                throw new ArgumentNullException(nameof(certificateProvider));
            }

            _appEnvironmentProvider = appEnvironmentProvider;
            _certificateProvider    = certificateProvider;
        }
        public SignalRMiddlewareConfiguration(Microsoft.AspNet.SignalR.IDependencyResolver dependencyResolver, IAppEnvironmentProvider appEnvironmentProvider,
                                              IEnumerable <ISignalRConfiguration> signalRScaleoutConfigurations = null)
        {
            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            if (dependencyResolver == null)
            {
                throw new ArgumentNullException(nameof(dependencyResolver));
            }

            _appEnvironmentProvider        = appEnvironmentProvider;
            _dependencyResolver            = dependencyResolver;
            _signalRScaleoutConfigurations = signalRScaleoutConfigurations;
        }
示例#29
0
        public WebApiODataMiddlewareConfiguration(IAppEnvironmentProvider appEnvironmentProvider,
                                                  IEnumerable <IEdmModelProvider> emdEdmModelProviders, IEnumerable <IWebApiGlobalActionFiltersProvider> globalActionFilterProviders, System.Web.Http.Dependencies.IDependencyResolver webApiDependencyResolver, IODataModelBuilderProvider oDataModelBuilderProvider, IODataContainerBuilderCustomizer oDataContainerBuilderCustomizer, IWebApiOwinPipelineInjector webApiOwinPipelineInjector)
        {
            if (emdEdmModelProviders == null)
            {
                throw new ArgumentNullException(nameof(emdEdmModelProviders));
            }

            if (appEnvironmentProvider == null)
            {
                throw new ArgumentNullException(nameof(appEnvironmentProvider));
            }

            if (globalActionFilterProviders == null)
            {
                throw new ArgumentNullException(nameof(globalActionFilterProviders));
            }

            if (webApiDependencyResolver == null)
            {
                throw new ArgumentNullException(nameof(webApiDependencyResolver));
            }

            if (oDataModelBuilderProvider == null)
            {
                throw new ArgumentNullException(nameof(oDataModelBuilderProvider));
            }

            if (oDataContainerBuilderCustomizer == null)
            {
                throw new ArgumentNullException(nameof(oDataContainerBuilderCustomizer));
            }

            if (webApiOwinPipelineInjector == null)
            {
                throw new ArgumentNullException(nameof(webApiOwinPipelineInjector));
            }

            _activeAppEnvironment            = appEnvironmentProvider.GetActiveAppEnvironment();
            _emdEdmModelProviders            = emdEdmModelProviders;
            _globalActionFilterProviders     = globalActionFilterProviders;
            _webApiDependencyResolver        = webApiDependencyResolver;
            _oDataModelBuilderProvider       = oDataModelBuilderProvider;
            _oDataContainerBuilderCustomizer = oDataContainerBuilderCustomizer;
            _webApiOwinPipelineInjector      = webApiOwinPipelineInjector;
        }
示例#30
0
        public override async Task Invoke(IOwinContext context)
        {
            IDependencyResolver dependencyResolver = context.GetDependencyResolver();

            IAppEnvironmentProvider appEnvironmentProvider = dependencyResolver
                                                             .Resolve <IAppEnvironmentProvider>();

            AppEnvironment activeAppEnvironment = appEnvironmentProvider.GetActiveAppEnvironment();

            string redirectUriHost = $"{context.Request.Scheme}://{context.Request.Host.Value}{activeAppEnvironment.GetHostVirtualPath()}SignOut";

            string redirectUri = $"{activeAppEnvironment.GetSsoUrl()}/connect/endsession?post_logout_redirect_uri={redirectUriHost}";

            context.Response.Redirect(redirectUri + "&id_token_hint=" + context.Request.Query["id_token"]);

            context.Authentication.SignOut("custom", "Barear");
        }