public async Task connect(String host, int port, String user, String local_path, String remote_path, String password, TLS_MODE tls_mode, bool use_compression, String container)
        {
            cancel = new CancellationTokenSource();
            SetLocalPath(local_path);
            compress      = use_compression;
            this.tls_mode = tls_mode;
            if (String.IsNullOrWhiteSpace(remote_path))
            {
                remote_path = "";
            }
            else if (remote_path.EndsWith("/") == false && remote_path.EndsWith("\\") == false)
            {
                remote_path += "/";
            }
            this.remote_path = remote_path;
            this.container   = container;
            if (host.IndexOf("://") == -1)
            {
                host = "tcp://" + host;
            }
            host += ":" + port;
            Credentials creds     = new AnonymousCredentials();
            var         pswd_info = new FileInfo(password);

            if (pswd_info.Exists)
            {
                if (pswd_info.Attributes.HasFlag(FileAttributes.ReparsePoint))
                {
                    throw new Exception("Sysmlinks will crash this;0");
                }
                creds        = new CertificateCredentials(new X509Certificate2(password, ""));                              //warning sym links will throw an error here
                ca_cert_path = user;
                ((CertificateCredentials)creds).ServerCertificateValidationCallback += ServerCertificateValidationCallback; //not sure why cannot do this for basic auth
            }
            else if (!String.IsNullOrWhiteSpace(user) && !String.IsNullOrWhiteSpace(password))
            {
                creds = new BasicAuthCredentials(user, password, tls_mode != TLS_MODE.None);
            }
            var config = new DockerClientConfiguration(new Uri(host), creds);

            client = config.CreateClient();
            try {
                var stats = await client.Containers.InspectContainerAsync(container);

                if (!stats.State.Running)
                {
                    MainWindow.ShowMessage("Container is not running", "Unable to connect");
                }
                else
                {
                    connected = true;
                }
            } catch (Exception e) {
                HandleException(e);
            }
        }
Beispiel #2
0
        public async Task Run(TestContext context)
        {
            var url = this.Url;
            var db  = this.Database;

            var remoteConn = context.Connection as IRemoteConnection;

            if (string.IsNullOrEmpty(url) && remoteConn != null)
            {
                url = remoteConn.Url.ToString();
            }
            if (string.IsNullOrEmpty(db))
            {
                db = context.Connection.Database;
            }

            var prefs = new ConnectionPreferences();

            prefs.Headers.UserAgent = "InnovatorAdmin UnitTest";
            var conn = await Factory.GetConnection(url, prefs, true).ToTask();

            ICredentials cred;

            switch (this.Type)
            {
            case CredentialType.Anonymous:
                cred = new AnonymousCredentials(db);
                break;

            case CredentialType.Windows:
                cred = new WindowsCredentials(db);
                break;

            default:
                if (_password.IsNullOrEmpty())
                {
                    cred = context.CredentialStore.OfType <ExplicitCredentials>()
                           .FirstOrDefault(c => string.Equals(c.Database, db) && string.Equals(c.Username, this.UserName));
                }
                else
                {
                    cred = new ExplicitCredentials(db, this.UserName, _password);
                }
                break;
            }

            if (cred == null)
            {
                throw new InvalidOperationException("Could not create credentials for this login type");
            }
            await conn.Login(cred, true).ToTask();

            context.PushConnection(conn);
        }
        public void Cloud_AnonymousCredentialsTest()
        {
            CredentialsBase credentials       = new AnonymousCredentials();
            var             credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Public, EncryptedConnection.NotEncrypted);

            Assert.IsNotNull(credentialDetails);
            Assert.AreEqual("{\"credentialData\":[]}", credentialDetails.Credentials);
            Assert.AreEqual(CredentialType.Anonymous, credentialDetails.CredentialType);
            Assert.AreEqual(EncryptedConnection.NotEncrypted, credentialDetails.EncryptedConnection);
            Assert.AreEqual(EncryptionAlgorithm.None, credentialDetails.EncryptionAlgorithm);
            Assert.AreEqual(PrivacyLevel.Public, credentialDetails.PrivacyLevel);
            Assert.AreEqual(false, credentialDetails.UseCallerAADIdentity);
        }
Beispiel #4
0
        public DockerController(string uri)
        {
            try
            {
                AnonymousCredentials creds = new AnonymousCredentials();

                client = new DockerClientConfiguration(
                    new Uri(uri))
                         .CreateClient();
            }
            catch (Exception ex)
            { }
        }
        public void OnPrem_AnonymousCredentialsTest()
        {
            CredentialsBase credentials          = new AnonymousCredentials();
            var             credentialsEncryptor = new AsymmetricKeyEncryptor(publicKey);

            var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Public, EncryptedConnection.NotEncrypted, credentialsEncryptor);

            Assert.IsNotNull(credentialDetails);
            Assert.IsNotNull(credentialDetails.Credentials);
            Assert.AreEqual(CredentialType.Anonymous, credentialDetails.CredentialType);
            Assert.AreEqual(EncryptedConnection.NotEncrypted, credentialDetails.EncryptedConnection);
            Assert.AreEqual(EncryptionAlgorithm.RSAOAEP, credentialDetails.EncryptionAlgorithm);
            Assert.AreEqual(PrivacyLevel.Public, credentialDetails.PrivacyLevel);
            Assert.AreEqual(false, credentialDetails.UseCallerAADIdentity);
        }
        public async Task <IActionResult> LoginAnonymous([FromBody] AnonymousCredentials credentials)
        {
            var existingUser = await _userManager.FindByIdAsync(credentials.DeviceId);

            if (existingUser == null)
            {
                var user = new PokerUser {
                    UserName = credentials.DeviceId
                };
                var result = await _userManager.CreateAsync(user);

                if (!result.Succeeded)
                {
                    ThrowException(result);
                }

                existingUser = user;
            }

            return(Ok(CreateToken(existingUser)));
        }
Beispiel #7
0
        public void Main(string[] args)
        {
            AnonymousCredentials creds = new AnonymousCredentials();

            DockerClient client = new DockerClientConfiguration(new Uri("http://127.0.0.1:4242")).CreateClient();

            var containers = client.Containers.ListContainersAsync(new Docker.DotNet.Models.ListContainersParameters()
            {
                All = true
            }).Result;

            foreach (var item in containers)
            {
                Console.WriteLine("Id: {0}", item.Id);
                Console.WriteLine("Names: {0}", string.Join(", ", item.Names));
                Console.WriteLine("Command: {0}", item.Command);
                Console.WriteLine("Created: {0}", item.Created);
                Console.WriteLine("Image: {0}", item.Image);
                Console.WriteLine("SizeRootFs: {0}", item.SizeRootFs);
                Console.WriteLine("SizeRw: {0}", item.SizeRw);
                Console.WriteLine("Status: {0}", item.Status);
            }
        }