Ejemplo n.º 1
0
        public async Task <OAuth2Credentials> GetRefreshedAccessTokenCredentials <TResourceProvider>(
            OAuth2Credentials expiredCredentials,
            TResourceProvider provider = null)
            where TResourceProvider : OAuth2ResourceProvider, new()
        {
            if (provider == null)
            {
                provider = new TResourceProvider();
            }

            provider.SetClientProperties(
                expiredCredentials.ClientId,
                expiredCredentials.ClientSecret);

            var token = await _oauth.GetRefreshToken(
                provider.TokenUrl,
                expiredCredentials.ClientId,
                expiredCredentials.ClientSecret,
                expiredCredentials.RefreshToken,
                provider.Headers)
                        .ConfigureAwait(false);

            token.TimestampToken();

            return(token
                   .SetTokenName(expiredCredentials.TokenName)
                   .SetClientProperties(
                       expiredCredentials.ClientId,
                       expiredCredentials.ClientSecret)
                   .TransferRefreshToken(expiredCredentials.RefreshToken));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Get credentials for updating datasource
        /// </summary>
        /// <param name="credentialType">Type of credential selected by user</param>
        /// <param name="credentialsArray">Credentials entered by the user</param>
        /// <returns>Credentials for updating the datasource</returns>
        public CredentialsBase GetCredentials(string credentialType, string[] credentialsArray)
        {
            CredentialsBase credentials;

            // Capture credentials based on credential type selected by the user
            switch (credentialType)
            {
            case Constants.KeyCredentials:
                credentials = new KeyCredentials(key: credentialsArray[0]);
                break;

            case Constants.BasicCredentials:
                credentials = new BasicCredentials(username: credentialsArray[0], password: credentialsArray[1]);
                break;

            case Constants.OAuth2Credentials:
                credentials = new OAuth2Credentials(accessToken: credentialsArray[0]);
                break;

            case Constants.WindowsCredentials:
                credentials = new WindowsCredentials(username: credentialsArray[0], password: credentialsArray[1]);
                break;

            default:
                Console.Error.WriteLine(Constants.InvalidCredType);
                throw new Exception(Constants.InvalidCredType);
            }

            return(credentials);
        }
 public async Task AuthenticateWithFacebookAsyncTest()
 {
     var cred = new OAuth2Credentials("CAAEJx3OyvusBAFEEHwXPc1oFofA8mXryZCfJhLWJZAH7ysb5jL0prHPtAhpCKgtLM76jczuw7wJfCE5ZAaU9yrNZAz7tAZCwKf7jFtMUZB2ICUC8lElwtSdobfbOk63NvcWwoaOZCNY0nvs24NDf1rzh3LKnZB0hfUIJS2gKLC9HH2WmYd3WXZA1uX13rVZAAZCgccZD", "facebook");
     cred.CreateUserIfNotExists = true;
     var session = await cred.AuthenticateAsync();
     Assert.IsTrue(string.IsNullOrWhiteSpace(session.UserToken) == false);
     Assert.IsNotNull(session.LoggedInUser);
 }
Ejemplo n.º 4
0
 public Task <OAuth2Credentials> RefreshCredentialsAsync(
     OAuth2Credentials expiredToken)
 {
     return(new RefreshTokenFacade(
                new OAuth2Authentication())
            .GetRefreshedAccessTokenCredentials(
                expiredToken,
                _provider));
 }
Ejemplo n.º 5
0
        public async Task AuthenticateWithFacebookAsyncTest()
        {
            var cred = new OAuth2Credentials("CAAEJx3OyvusBAFEEHwXPc1oFofA8mXryZCfJhLWJZAH7ysb5jL0prHPtAhpCKgtLM76jczuw7wJfCE5ZAaU9yrNZAz7tAZCwKf7jFtMUZB2ICUC8lElwtSdobfbOk63NvcWwoaOZCNY0nvs24NDf1rzh3LKnZB0hfUIJS2gKLC9HH2WmYd3WXZA1uX13rVZAAZCgccZD", "facebook");

            cred.CreateUserIfNotExists = true;
            var session = await cred.AuthenticateAsync();

            Assert.IsTrue(string.IsNullOrWhiteSpace(session.UserToken) == false);
            Assert.IsNotNull(session.LoggedInUser);
        }
Ejemplo n.º 6
0
        static void Main(string[] args)
        {
            var oauthCredentials = new OAuth2Credentials("CLIENT_ID",
                                                         "CLIENT_SECRET",
                                                         "REDIRECT",
                                                         "USER", "PWD");
            var auth = new MauticAuthorization(oauthCredentials, new MauticClientConfiguration("URL_MAUTIC"));

            auth.Authorize().Wait();
        }
Ejemplo n.º 7
0
        public void Cloud_OAuth2CredentialsTest()
        {
            CredentialsBase credentials       = new OAuth2Credentials("TestToken");
            var             credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted);

            Assert.IsNotNull(credentialDetails);
            Assert.AreEqual("{\"credentialData\":[{\"name\":\"accessToken\",\"value\":\"TestToken\"}]}", credentialDetails.Credentials);
            Assert.AreEqual(CredentialType.OAuth2, credentialDetails.CredentialType);
            Assert.AreEqual(EncryptedConnection.Encrypted, credentialDetails.EncryptedConnection);
            Assert.AreEqual(EncryptionAlgorithm.None, credentialDetails.EncryptionAlgorithm);
            Assert.AreEqual(PrivacyLevel.Private, credentialDetails.PrivacyLevel);
            Assert.AreEqual(false, credentialDetails.UseCallerAADIdentity);
        }
Ejemplo n.º 8
0
        public async Task AddCredentialsAsync(string key, OAuth2Credentials creds)
        {
            LockReleaser releaser = await _lock.Lock(new TimeSpan(0, 0, 30));

            try
            {
                var memKey = $"{PreKeyName}.{key}";
                _memoryCache.Set(memKey, creds);
            }
            finally
            {
                releaser.Dispose();
            }
        }
Ejemplo n.º 9
0
        public void UsesOauth2Authorization()
        {
            var restClientWrapper = new Mock <RestClientWrapper>();
            var credentials       = new OAuth2Credentials("Token");

#pragma warning disable 618
            IClient client = new Client(restClientWrapper.Object);
#pragma warning restore 618

            client.AddCredentials(credentials);

            restClientWrapper.Verify(
                wrapper => wrapper.AddAuthenticator(credentials), Times.Once);
        }
Ejemplo n.º 10
0
        public void OnPrem_OAuth2CredentialsTest()
        {
            CredentialsBase credentials          = new OAuth2Credentials("TestToken");
            var             credentialsEncryptor = new AsymmetricKeyEncryptor(publicKey);

            var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);

            Assert.IsNotNull(credentialDetails);
            Assert.IsNotNull(credentialDetails.Credentials);
            Assert.AreEqual(CredentialType.OAuth2, credentialDetails.CredentialType);
            Assert.AreEqual(EncryptedConnection.Encrypted, credentialDetails.EncryptedConnection);
            Assert.AreEqual(EncryptionAlgorithm.RSAOAEP, credentialDetails.EncryptionAlgorithm);
            Assert.AreEqual(PrivacyLevel.Private, credentialDetails.PrivacyLevel);
            Assert.AreEqual(false, credentialDetails.UseCallerAADIdentity);
        }
Ejemplo n.º 11
0
 private void AssertTokenDifferences(
     OAuth2Credentials newToken,
     OAuth2Credentials expiredToken,
     bool expectDifferentRefreshToken = false)
 {
     Assert.NotNull(newToken);
     if (!expectDifferentRefreshToken)
     {
         Assert.Equal(expiredToken.RefreshToken, newToken.RefreshToken);
     }
     Assert.True(!string.IsNullOrEmpty(newToken.AccessToken));
     Assert.NotEqual(expiredToken.AccessToken, newToken.AccessToken);
     Assert.True(!newToken.IsTokenExpired);
     Assert.False(string.IsNullOrEmpty(newToken.ClientId));
     Assert.False(string.IsNullOrEmpty(newToken.ClientSecret));
 }
Ejemplo n.º 12
0
 public void CreateHttpTest()
 {
     _mauticClientConfiguration = new MauticClientConfiguration("http://test.com");
     _oAuth2Credentials         = new OAuth2Credentials("clientId", "clientSecret", "http://callbackUri.com", "userName", "password");
     _sut = new MauticAuthorization(_oAuth2Credentials, _mauticClientConfiguration);
 }
Ejemplo n.º 13
0
 private bool IsValidOAuth2Token(OAuth2Credentials token)
 {
     return(token != null &&
            token.AccessToken != string.Empty &&
            token.TokenName != string.Empty);
 }
Ejemplo n.º 14
0
        public static bool OAuthenticateClient(ImapClient client, string username, string token)
        {
            OAuth2Credentials credentials = new OAuth2Credentials(username, token);

            return(client.Login(credentials));
        }
Ejemplo n.º 15
0
 public MauticAuthorization(OAuth2Credentials oAuth2Credentials, MauticClientConfiguration configuration)
 {
     _oAuth2Credentials = oAuth2Credentials;
     _configuration     = configuration;
 }