コード例 #1
0
        public void SimpleCredentials_Secret_GetsAndSets()
        {
            var credentials = new SimpleCredentials();

            credentials.Secret = "P@ssword123";             // Never use a password this dumb.
            Assert.AreEqual("P@ssword123", credentials.Secret);
        }
コード例 #2
0
 public ReadFeed(NuGetFeedBase feed, string name, SimpleCredentials creds)
 {
     _feed       = feed;
     Name        = name;
     Credentials = creds;
     TypedName   = $"{NuGetClient.NuGetType.Name}:{Name}";
 }
        public async Task OAuth2RequestSigningHandler_CanSignRequestsUsingNonInteractiveJsonResponse()
        {
            var credentials = new SimpleCredentials()
            {
                Identifier = TestSecrets.OAuth2CredentialId,
                Secret     = TestSecrets.OAuth2CredentialSecret
            };

            var settings = new OAuth2.OAuth2Settings()
            {
                AccessTokenUrl           = new Uri(TestSecrets.OAuth2AccessTokenUrl),
                AuthorizeUrl             = new Uri(TestSecrets.OAuth2AuthorisationUrl),
                RedirectUrl              = new Uri(TestSecrets.OAuth2RedirectUrl),
                ClientCredentialProvider = new SimpleCredentialProvider(credentials),
                Scope                 = "master_all",
                GrantType             = OAuth2.OAuth2GrantTypes.AuthorizationCode,
                RequestSigningMethod  = OAuth2HttpRequestSigningMethod.UrlQuery,
                RequestAuthentication = OAuth2RequestSigningHandler.NonInteractiveAuthenticationByJsonResponse
            };

            var signer = new OAuth2RequestSigningHandler(settings);
            var client = new System.Net.Http.HttpClient(signer);
            var result = await client.GetAsync(TestSecrets.OAuth2TestUrl1);

            result.EnsureSuccessStatusCode();
            var result2 = await client.GetAsync(TestSecrets.OAuth2TestUrl2);

            result2.EnsureSuccessStatusCode();
            var content = await result2.Content.ReadAsStringAsync();
        }
コード例 #4
0
        public void SimpleCredentials_Identifier_GetsAndSets()
        {
            var credentials = new SimpleCredentials();

            credentials.Identifier = "*****@*****.**";
            Assert.AreEqual("*****@*****.**", credentials.Identifier);
        }
コード例 #5
0
ファイル: NuGetFeedBase.cs プロジェクト: CK-Build/CKli
 public ReadFeed(NuGetFeedBase f, string name, SimpleCredentials creds)
 {
     Debug.Assert(f != null);
     _baseFeed   = f;
     Name        = name;
     Credentials = creds;
     TypedName   = $"{NuGetClient.NuGetType.Name}:{Name}";
 }
コード例 #6
0
        public void SimpleCredentials_Dispose_ClearsCredentials()
        {
            var credentials = new SimpleCredentials();

            credentials.Identifier = "*****@*****.**";
            credentials.Secret     = "P@ssword123";
            credentials.Dispose();
            Assert.IsNull(credentials.Identifier);
            Assert.IsNull(credentials.Secret);
        }
コード例 #7
0
        public void SimpleCredentialProvider_Constructor_ConstructsWithNonNullCreds()
        {
            var creds = new SimpleCredentials()
            {
                Identifier = "*****@*****.**",
                Secret     = "P@ssword123"
            };

            var credProvider = new SimpleCredentialProvider(creds);
        }
コード例 #8
0
ファイル: NPMFeed.cs プロジェクト: fairyfingers/CKli
 internal NPMFeed(
     string scope,
     string url,
     SimpleCredentials creds,
     Func <Registry> registryFactory)
 {
     Scope            = scope;
     Url              = url;
     Credentials      = creds;
     TypedName        = $"{NPMClient.NPMType.Name}:{scope}";
     _registryFactory = registryFactory ?? throw new ArgumentNullException();
 }
コード例 #9
0
        public async Task SimpleCredentialProvider_Constructor_GetCredentials()
        {
            var creds = new SimpleCredentials()
            {
                Identifier = "*****@*****.**",
                Secret     = "P@ssword123"
            };

            var credProvider = new SimpleCredentialProvider(creds);
            var results      = await credProvider.GetCredentials().ConfigureAwait(false);

            Assert.IsNotNull(results);
            Assert.AreEqual("*****@*****.**", results.Identifier);
            Assert.AreEqual("P@ssword123", results.Secret);
        }
        public async Task OAuth2RequestSigningHandler_UsesInitialTokenIfNotExpired()
        {
            #region Test Setup

            MockMessageHandler mockHandler = SetupOAuth2MockHandler();

            var credentials = new SimpleCredentials()
            {
                Identifier = "987654321",
                Secret     = "abcdefghilmnopqrstuvzabc"
            };

            var settings = new OAuth2.OAuth2Settings()
            {
                AccessToken = new OAuth2.OAuth2Token()
                {
                    AccessToken = "123", ExpiresIn = 3600, RefreshToken = "456", TokenType = "Bearer", Created = DateTime.Now
                },
                CreateHttpClient         = () => new System.Net.Http.HttpClient(mockHandler),
                AccessTokenUrl           = new Uri("http://testsite.com/Token"),
                AuthorizeUrl             = new Uri("http://testsite.com/Authorize"),
                RedirectUrl              = new Uri("http://testsite.com/AuthComplete"),
                ClientCredentialProvider = new SimpleCredentialProvider(credentials),
                Scope                 = "master_all",
                GrantType             = OAuth2.OAuth2GrantTypes.AuthorizationCode,
                RequestSigningMethod  = OAuth2HttpRequestSigningMethod.AuthorizationHeader,
                RequestAuthentication = (authuri) =>
                {
                    throw new InvalidOperationException("New token was being requested! Existing token should have been used.");
                },
                TokenQueryStringKey = "oauth_token"
            };

            var signer = new OAuth2RequestSigningHandler(settings, mockHandler);

            #endregion

            var client = new System.Net.Http.HttpClient(signer);
            var result = await client.GetAsync("http://testsite.com/TestEndpoint");

            result.EnsureSuccessStatusCode();
            Assert.AreEqual("Yay! You're authed.", await result.Content.ReadAsStringAsync());
        }
        public async Task OAuth2RequestSigningHandler_RequestsTokenThenSignsRequest()
        {
            #region Test Setup

            MockMessageHandler mockHandler = SetupOAuth2MockHandler();

            var credentials = new SimpleCredentials()
            {
                Identifier = "987654321",
                Secret     = "abcdefghilmnopqrstuvzabc"
            };

            var settings = new OAuth2.OAuth2Settings()
            {
                CreateHttpClient         = () => new System.Net.Http.HttpClient(mockHandler),
                AccessTokenUrl           = new Uri("http://testsite.com/Token"),
                AuthorizeUrl             = new Uri("http://testsite.com/Authorize"),
                RedirectUrl              = new Uri("http://testsite.com/AuthComplete"),
                ClientCredentialProvider = new SimpleCredentialProvider(credentials),
                Scope                 = "master_all",
                GrantType             = OAuth2.OAuth2GrantTypes.AuthorizationCode,
                RequestSigningMethod  = OAuth2HttpRequestSigningMethod.AuthorizationHeader,
                RequestAuthentication = (authuri) =>
                {
                    return(Task.FromResult(new AuthorisationCodeResponse()
                    {
                        AuthorisationCode = "28770506516186843330"
                    }));
                },
                TokenQueryStringKey = "oauth_token"
            };

            var signer = new OAuth2RequestSigningHandler(settings, mockHandler);

            #endregion

            var client = new System.Net.Http.HttpClient(signer);
            var result = await client.GetAsync("http://testsite.com/TestEndpoint");

            result.EnsureSuccessStatusCode();
            Assert.AreEqual("Yay! You're authed.", await result.Content.ReadAsStringAsync());
        }
        public async Task OAuth2RequestSigningHandler_ClientCredentialsGrant_AuthorisesOk()
        {
            #region Test Setup

            MockMessageHandler mockHandler = SetupOAuth2MockHandler();

            var credentials = new SimpleCredentials()
            {
                Identifier = "987654321",
                Secret     = "abcdefghilmnopqrstuvzabc"
            };

            var settings = new OAuth2Settings();
            //Set the grant type
            settings.GrantType = OAuth2GrantTypes.ClientCredentials;
            //Set the credentials to use when requesting a new token
            settings.ClientCredentialProvider = new SimpleCredentialProvider(credentials);

            // Make sure token requests use our mock handler
            settings.CreateHttpClient = () => new System.Net.Http.HttpClient(mockHandler);

            //These settings are provided for all auth flows
            settings.AccessTokenUrl = new Uri("http://testsite.com/Token");
            settings.AuthorizeUrl   = new Uri("http://testsite.com/Authorize");
            settings.RedirectUrl    = new Uri("http://testsite.com/redirect");

            // Create a request signer using the config
            var signer = new OAuth2RequestSigningHandler(settings, mockHandler);

            #endregion

            var client = new System.Net.Http.HttpClient(signer);

            var result = await client.GetAsync("http://testsite.com/TestEndpoint");

            result.EnsureSuccessStatusCode();
        }
コード例 #13
0
 public HttpOptionsBuilder UseProxy(Uri proxy, SimpleCredentials credentials)
 {
     return(UseProxy(proxy, (NetworkCredential)credentials));
 }
コード例 #14
0
 public void SimpleCredentials_Constructor_ConstructsOk()
 {
     var credentials = new SimpleCredentials();
 }
コード例 #15
0
ファイル: NuGetFeedBase.cs プロジェクト: CK-Build/CKli
 internal INuGetFeed HandleFeed(SecretKeyStore keyStore, string url, string name, SimpleCredentials creds)
 {
     Debug.Assert(_feed == null && url.Equals(Url, StringComparison.OrdinalIgnoreCase));
     if (creds?.IsSecretKeyName == true)
     {
         keyStore.DeclareSecretKey(creds.PasswordOrSecretKeyName, current => current?.Description
                                   ?? $"Used to enable CKli to retrieve informations about NuGet packages from feed '{name}' and to configure NuGet.config file.");
     }
     return(_feed = new ReadFeed(this, name, creds));
 }
コード例 #16
0
 internal NuGetFeedBase(IActivityMonitor m, NuGetClient c, string url, string name, SimpleCredentials creds)
     : this(c, new PackageSource(url, name))
 {
     HandleFeed(c.SecretKeyStore, url, name, creds);
 }
コード例 #17
0
 internal INuGetFeed HandleFeed(SecretKeyStore keyStore, string url, string name, SimpleCredentials creds)
 {
     Debug.Assert(_feed == null && url.Equals(Url, StringComparison.OrdinalIgnoreCase));
     if (creds.IsSecretKeyName)
     {
         keyStore.DeclareSecretKey(creds.PasswordOrSecretKeyName, (s) => "PAT Used to authenticate CKli to the feeds, and retrieve informations about NuGet packages");
     }
     return(_feed = new ReadFeed(this, name, creds));
 }
コード例 #18
0
        public HttpOptionsBuilder UseProxy(string proxy, SimpleCredentials credentials)
        {
            var uri = UriHelper.BuildUri(proxy);

            return(UseProxy(uri, (NetworkCredential)credentials));
        }
コード例 #19
0
        public MSmtpClient UseBasicAuthentication(SimpleCredentials credentials)
        {
            options.Credentials = credentials;

            return(this);
        }