public void SetUp()
        {
            var configurationClient = new ConfigurationClient(ApiTestFixture.ConfigurationServerUri);

            sampleConfig = GenerateSampleConfigData();

            gettingNonExistConfig = () => configurationClient.GetConfiguration<object>("non-exist");

            configurationClient.SetConfiguration("application", sampleConfig);

            getNewCreatedConfig = configurationClient.GetConfiguration<SampleConfigData>("application");
        }
        private IConfiguration GetConfig()
        {
            var            configClient = new ConfigurationClient(_configuration.ServiceUrl);
            IConfiguration config       = configClient.GetConfiguration();

            return(config);
        }
        public void GetConfiguration_should_get_full_config_object()
        {
            // given
            var client = new ConfigurationClient(ServiceStarter.BaseUrl);

            // when
            var config = client.GetConfiguration();

            // then
            Assert.That(config, Is.Not.Null);
        }
Exemple #4
0
        private void ConfigureOAuth(IAppBuilder app)
        {
            // Call the service to get its configuration back
            var provider = new MvcConfigurationProvider(ConfigurationManager.AppSettings);
            MvcConfiguration mvcConfiguration = provider.Load();

            var            configClient = new ConfigurationClient(mvcConfiguration.ServiceUrl);
            IConfiguration config       = configClient.GetConfiguration();

            var cookieOptions = new CookieAuthenticationOptions
            {
                LoginPath  = new PathString("/Authentication/Login"),
                CookieName = "SyringeOAuth"
            };

            app.UseCookieAuthentication(cookieOptions);

            // Only enable if there are credentials
            if (config.ContainsOAuthCredentials())
            {
                app.SetDefaultSignInAsAuthenticationType(cookieOptions.AuthenticationType);
            }


            //
            // OAuth2 Integrations
            //
            if (!string.IsNullOrEmpty(config.OAuthConfiguration.GoogleAuthClientId) &&
                !string.IsNullOrEmpty(config.OAuthConfiguration.GoogleAuthClientSecret))
            {
                // Console: https://console.developers.google.com/home/dashboard
                // Found under API and credentials.
                app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions
                {
                    ClientId     = config.OAuthConfiguration.GoogleAuthClientId,
                    ClientSecret = config.OAuthConfiguration.GoogleAuthClientSecret
                });
            }
            if (!string.IsNullOrEmpty(config.OAuthConfiguration.MicrosoftAuthClientId) &&
                !string.IsNullOrEmpty(config.OAuthConfiguration.MicrosoftAuthClientSecret))
            {
                // Console: https://account.live.com/developers/applications/
                // Make sure he 'redirecturl' is set to 'http://localhost:1980/Authentication/Noop' (or the domain being used), to match the CallbackPath
                app.UseMicrosoftAccountAuthentication(new MicrosoftAccountAuthenticationOptions()
                {
                    ClientId     = config.OAuthConfiguration.MicrosoftAuthClientId,
                    ClientSecret = config.OAuthConfiguration.MicrosoftAuthClientSecret,
                    CallbackPath = new PathString("/Authentication/Noop")
                });
            }
            if (!string.IsNullOrEmpty(config.OAuthConfiguration.GithubAuthClientId) &&
                !string.IsNullOrEmpty(config.OAuthConfiguration.GithubAuthClientSecret))
            {
                // Console:  https://github.com/settings/developers
                // Set the callback url in the Github console to the same as the homepage url.
                var githubConfig = new GitHubAuthenticationOptions()
                {
                    ClientId     = config.OAuthConfiguration.GithubAuthClientId,
                    ClientSecret = config.OAuthConfiguration.GithubAuthClientSecret,
                };

                if (config.OAuthConfiguration.ContainsGithubEnterpriseSettings())
                {
                    githubConfig.Endpoints = new GitHubAuthenticationOptions.GitHubAuthenticationEndpoints()
                    {
                        AuthorizationEndpoint = config.OAuthConfiguration.GithubEnterpriseAuthorizationEndpoint,
                        TokenEndpoint         = config.OAuthConfiguration.GithubEnterpriseTokenEndpoint,
                        UserInfoEndpoint      = config.OAuthConfiguration.GithubEnterpriseUserInfoEndpoint
                    };
                }

                app.UseGitHubAuthentication(githubConfig);
            }
        }