Exemple #1
0
        public void CreatesCertificateCredentials(string storeLocation, StoreLocation expectedStore, string storeName, StoreName expectedName)
        {
            var localCert = new X509Store(expectedName, expectedStore);

            localCert.Open(OpenFlags.ReadOnly);
            var someLocalCert = localCert.Certificates[0].Thumbprint;

            localCert.Close();

            IConfiguration configuration = GetConfiguration(
                new KeyValuePair <string, string>("clientId", "ConfigurationClientId"),
                new KeyValuePair <string, string>("clientCertificate", someLocalCert),
                new KeyValuePair <string, string>("clientCertificateStoreLocation", storeLocation),
                new KeyValuePair <string, string>("clientCertificateStoreName", storeName),
                new KeyValuePair <string, string>("tenantId", "ConfigurationTenantId")
                );

            var credential = ClientFactory.CreateCredential(configuration);

            Assert.IsInstanceOf <ClientCertificateCredential>(credential);
            var clientCertificateCredential = (ClientCertificateCredential)credential;

            Assert.AreEqual("ConfigurationClientId", clientCertificateCredential.ClientId);
            // TODO: Reenable when Azure.Identity version is updated
            // Assert.AreEqual(someLocalCert, clientCertificateCredential.ClientCertificate.Thumbprint);
            Assert.AreEqual("ConfigurationTenantId", clientCertificateCredential.TenantId);
        }
Exemple #2
0
        public void CreatesManagedServiceIdentityCredentialsThrowsWhenResourceIdAndClientIdSpecified()
        {
            IConfiguration configuration = GetConfiguration(
                new KeyValuePair <string, string>("managedIdentityResourceId", "ConfigurationResourceId"),
                new KeyValuePair <string, string>("clientId", "ConfigurationClientId"),
                new KeyValuePair <string, string>("credential", "managedidentity")
                );

            Assert.That(
                () => ClientFactory.CreateCredential(configuration),
                Throws.InstanceOf <ArgumentException>());
        }
Exemple #3
0
        public void CreatesManagedServiceIdentityCredentials()
        {
            IConfiguration configuration = GetConfiguration(
                new KeyValuePair <string, string>("credential", "managedidentity")
                );

            var credential = ClientFactory.CreateCredential(configuration);

            Assert.IsInstanceOf <ManagedIdentityCredential>(credential);
            var managedIdentityCredential = (ManagedIdentityCredential)credential;

            var client   = (ManagedIdentityClient)typeof(ManagedIdentityCredential).GetField("_client", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(managedIdentityCredential);
            var clientId = typeof(ManagedIdentityClient).GetProperty("ClientId", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(client);

            Assert.Null(clientId);
        }
Exemple #4
0
        public void CreatesManagedServiceIdentityCredentialsWithResourceId()
        {
            IConfiguration configuration = GetConfiguration(
                new KeyValuePair <string, string>("managedIdentityResourceId", "ConfigurationResourceId"),
                new KeyValuePair <string, string>("credential", "managedidentity")
                );

            var credential = ClientFactory.CreateCredential(configuration);

            Assert.IsInstanceOf <ManagedIdentityCredential>(credential);
            var managedIdentityCredential = (ManagedIdentityCredential)credential;

            var resourceId = (string)typeof(ManagedIdentityCredential).GetField("_clientId", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(managedIdentityCredential);

            Assert.AreEqual("ConfigurationResourceId", resourceId);
        }
Exemple #5
0
        public void CreatesClientSecretCredentials()
        {
            IConfiguration configuration = GetConfiguration(
                new KeyValuePair <string, string>("clientId", "ConfigurationClientId"),
                new KeyValuePair <string, string>("clientSecret", "ConfigurationClientSecret"),
                new KeyValuePair <string, string>("tenantId", "ConfigurationTenantId")
                );

            var credential = ClientFactory.CreateCredential(configuration);

            Assert.IsInstanceOf <ClientSecretCredential>(credential);
            var clientSecretCredential = (ClientSecretCredential)credential;

            Assert.AreEqual("ConfigurationClientId", clientSecretCredential.ClientId);
            Assert.AreEqual("ConfigurationClientSecret", clientSecretCredential.ClientSecret);
            Assert.AreEqual("ConfigurationTenantId", clientSecretCredential.TenantId);
        }