/// <summary> /// Loads the credential store from the Credentials.xml file located in the folder specified in the CredentialFiles application setting. /// </summary> /// <returns>Loaded store or empty store if the file does not exist.</returns> public static CredentialStore Load() { var credentialPath = Environment.ExpandEnvironmentVariables(UI5Uploader.Properties.Settings.Default.CredentialFiles); Directory.CreateDirectory(credentialPath); var credentialFile = Path.Combine(credentialPath, "Credentials.xml"); var result = new CredentialStore(); if (File.Exists(credentialFile)) { result.Load(credentialFile); } else { Log.Instance.Write("New Credential Store created."); } return result; }
/// <summary> /// Loads the credential store from the Credentials.xml file located in the folder specified in the CredentialFiles application setting. /// </summary> /// <returns>Loaded store or empty store if the file does not exist.</returns> public static CredentialStore Load() { var credentialPath = Environment.ExpandEnvironmentVariables(UI5Uploader.Properties.Settings.Default.CredentialFiles); Directory.CreateDirectory(credentialPath); var credentialFile = Path.Combine(credentialPath, "Credentials.xml"); var result = new CredentialStore(); if (File.Exists(credentialFile)) { result.Load(credentialFile); } else { Log.Instance.Write("New Credential Store created."); } return(result); }
public override int Run(string[] remainingArguments) { var store = CredentialStore.Load(); if (ClearPassword) { var removed = store.RemoveCredentials(System, Mandant, Username); store.Save(); if (removed) { Log.Instance.Write("Credentials have been removed."); } return(0); } var credentials = new Credentials(System, Mandant, Username); if (!string.IsNullOrWhiteSpace(Password)) { credentials.Password = Password; store.SetCredentials(credentials); store.Save(); return(0); } var password1 = GetPasswordFromConsole(string.Format("Enter Password for user {0}: ", Username)); if (string.IsNullOrEmpty(password1)) { Log.Instance.Write("User abort."); return(5); } var password2 = GetPasswordFromConsole("Retype Password: "******"Password mismatch"); return(2); } credentials.Password = password1; store.SetCredentials(credentials); store.Save(); return(0); }
public override int Run(string[] remainingArguments) { var engine = new Engine(ProjectFolder); if (!string.IsNullOrWhiteSpace(AppName)) { engine.AppName = AppName; } if (!string.IsNullOrWhiteSpace(AppDescription)) { engine.AppDescription = AppDescription; } if (!string.IsNullOrWhiteSpace(Package)) { engine.Package = Package; } if (TransportRequest != null) { engine.TransportRequest = TransportRequest; } engine.DeltaMode = DeltaMode; engine.TestMode = TestMode; engine.Timeout = Timeout; engine.AppSubDir = AppSubFolder; engine.IgnoreCertificateErrors = IgnoreCertificateErrors; Credentials credentials = null; if (!string.IsNullOrWhiteSpace(Username) && !string.IsNullOrWhiteSpace(Password)) { credentials = new Credentials(System, Mandant, Username); credentials.Password = Password; } else if (!string.IsNullOrWhiteSpace(Username)) { var credentialStore = CredentialStore.Load(); credentials = credentialStore.GetCredentials(System, Mandant, Username); if (credentials == null) { credentials = new Credentials(System, Mandant, Username); credentials.Password = SetCredentialsCommand.GetPasswordFromConsole(string.Format("Enter Password for user {0}: ", Username)); if (string.IsNullOrEmpty(credentials.Password)) { Log.Instance.Write("User abort."); return(5); } Console.Write("Save Password? [Y/N] "); var answer = Console.ReadLine(); if (answer == null) { Log.Instance.Write("Non interactive console. Aborting."); return(6); } if (answer.Trim().Equals("Y", StringComparison.OrdinalIgnoreCase)) { credentialStore.SetCredentials(credentials); credentialStore.Save(); } } } else //SSO { credentials = new Credentials(System, Mandant, null); } engine.Credentials = credentials; Log.Instance.Write("System: {0}", engine.Credentials.System); Log.Instance.Write("Mandant: {0}", engine.Credentials.Mandant); Log.Instance.Write("Username: {0}", engine.Credentials.Username ?? "SSO"); Log.Instance.Write("Project folder: {0}", engine.ProjectDir); Log.Instance.Write("App name: {0}", engine.AppName); Log.Instance.Write("Package: {0}", engine.Package); Log.Instance.Write("Transport: {0}", engine.TransportRequest); Log.Instance.Write("Ignore Masks: {0}", string.Join(", ", engine.IgnoreMasks)); if (!SkipConfirmation) { Console.WriteLine("Do you want to upload? [Y/N]"); var answer = Console.ReadLine(); if (answer == null) { Log.Instance.Write("Non interactive console. Use -f to disable this prompt."); return(6); } if (!answer.Trim().Equals("Y", StringComparison.OrdinalIgnoreCase)) { Log.Instance.Write("User abort."); return(0); } } try { engine.Upload(); } catch (UploadFailedException) { return(2); } catch (NotAuthorizedException) { var credentialStore = CredentialStore.Load(); credentials = credentialStore.GetCredentials(System, Mandant, Username); if (credentials != null) { Log.Instance.Write("Removing saved password."); credentialStore.RemoveCredentials(System, Mandant, Username); credentialStore.Save(); } return(1); } catch (Exception e) { Log.Instance.Write(e.ToString()); return(3); } return(0); }