Example #1
0
        }// End Method

        // Method - GetCredentials from CredentialManager
        public CredentialManagement.Credential GetCred(string AdmUrl)
        {
            var cred = new CredentialManagement.Credential();

            cred.Target = AdmUrl;
            cred.Load();
            return(cred);
        }// End Method
 /// <summary>
 /// Stores <see cref="NetworkCredential"/> in Windows' Credential Manager
 /// </summary>
 /// <param name="credential">NetworkCredential to save in Credential Manager</param>
 public void SaveCredential(NetworkCredential credential)
 {
     using (var credentialManager = new CredentialManagement.Credential())
     {
         credentialManager.Username        = string.IsNullOrEmpty(credential.Domain) ? credential.UserName : $"{credential.Domain}\\{credential.UserName}";
         credentialManager.Password        = credential.Password;
         credentialManager.Target          = _credentialsName;
         credentialManager.Type            = CredentialManagement.CredentialType.Generic;
         credentialManager.PersistanceType = CredentialManagement.PersistanceType.LocalComputer;
         credentialManager.Save();
     }
 }
Example #3
0
 // Method - SaveCredentials to CredentialManager
 public void SaveCred(System.Security.SecureString password, string userName, string AdmUrl)
 {
     using (var cred = new CredentialManagement.Credential())
     {
         cred.SecurePassword  = password;
         cred.Username        = userName;
         cred.Target          = AdmUrl;
         cred.Type            = CredentialManagement.CredentialType.Generic;
         cred.PersistanceType = CredentialManagement.PersistanceType.LocalComputer;
         cred.Save();
     }
 }// End Method
Example #4
0
        }// End Constructor

        // Method - Store Credentials
        private void StorePW(object sender, RoutedEventArgs e)
        {
            // Tenant = null => return
            if (string.IsNullOrEmpty(Tenant.Text))
            {
                MessageBox.Show("Please provide a Tenant", "My app", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            // We create the PasswordRepository
            var repo = new PasswordRepository();
            // Build the adminUrl from userInput
            string adminUrl = "https://" + Tenant.Text + "-admin.sharepoint.com";

            // If Login Sceanrio => Login
            if (string.IsNullOrEmpty(TBUN.Text))
            {
                // Get the credentials from Credential Manager
                CredentialManagement.Credential cred = repo.GetCred(adminUrl);
                if (cred.Exists())
                {
                    this.Hide();
                    new Sitesmanagement(adminUrl).Show();
                    return;
                }
                else
                {
                    MessageBox.Show("Please Register this Tenant");
                    return;
                }
            }

            // If Register Screnario => Register & Login
            if ((!string.IsNullOrEmpty(TBUN.Text)) && (PBPW.SecurePassword != null))
            {
                try
                {
                    repo.SaveCred(PBPW.SecurePassword, TBUN.Text, adminUrl);
                    this.Hide();
                    new Sitesmanagement(adminUrl).Show();
                    return;
                }
                catch (System.Exception ex)
                {
                    MessageBox.Show(ex.Message, "My app", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }

            //else we ask for UserName and PassWord
            MessageBox.Show("Please provide a UserName and PassWord");
        }// End Method
Example #5
0
        private void StartupDialog_Load(object sender, EventArgs e)
        {
            pswTxt.textBox1.TextBox.UseSystemPasswordChar = true;
            var cred = new CredentialManagement.Credential
            {
                Target = (Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false)[0] as AssemblyTitleAttribute).Title
            };

            if (cred.Load())
            {
                userTxt.Text = cred.Username;
                pswTxt.Text  = cred.Password;
            }
        }
Example #6
0
        private void StorePW(object sender, RoutedEventArgs e)
        {
            var repo       = new PasswordRepository();
            var tryConnect = new SPOtLightMenu();

            if (!string.IsNullOrEmpty(TBUN.Text))
            {
                repo.SaveCred(PBPW.SecurePassword, TBUN.Text);
                this.Hide();
            }
            CredentialManagement.Credential cred = repo.GetCred();
            if (cred.Exists())
            {
                this.Hide();
                new Sitesmanagement().Show();
            }
        }
 /// <summary>
 /// Restores credential from Windows Credential Manager, and stores in <see cref="Credential"/>
 /// </summary>
 /// <returns>Credential from Credential Manager</returns>
 public NetworkCredential GetCredentials()
 {
     using (var credentialManager = new CredentialManagement.Credential())
     {
         var credential = new NetworkCredential();
         credentialManager.Target = _credentialsName;
         credentialManager.Load();
         if (credentialManager.Exists())
         {
             credential.UserName = credentialManager.Username;
             // Username was set with domain, for example "DOMAIN\Username"
             if (credential.UserName.Contains("\\"))
             {
                 // Domain will be set to a string before backslash.
                 credential.Domain = credential.UserName.Split('\\')[0];
                 // Username will be set to a string after backslash.
                 credential.UserName = credential.UserName.Split('\\')[1];
             }
             credential.Password = credentialManager.Password;
         }
         return(credential);
     }
 }
Example #8
0
        private bool EnsureGitHubClient()
        {
            if (gitHubClient == null)
            {
                // Load git credentials from Windows credential management store (vault)
                var credential = new CredentialManagement.Credential {
                    Target = "git:https://github.com"
                };
                if (!credential.Exists())
                {
                    MessageBox.Show(Resources.Error_CredentialNotFound.FormatWith(credential.Target));
                    return(false);
                }
                if (!credential.Load())
                {
                    MessageBox.Show(Resources.Error_CredentialLoadFailed.FormatWith(credential.Target));
                    return(false);
                }

                gitHubClient             = new GitHubClient(new ProductHeaderValue(System.Windows.Forms.Application.ProductName));
                gitHubClient.Credentials = new Credentials(credential.Username, credential.Password);

                try
                {
                    var repo = gitHubClient.Repository.Get(textBoxOwner.Text, textBoxRepository.Text).Result;
                    repositoryId = repo.Id;

                    return(true);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }
            return(false);
        }