protected void UploadButton_Click(object sender, EventArgs e) { try { // Upload the SAML metadata. EntityDescriptor entityDescriptor = LoadMetadata(); if (entityDescriptor == null) { return; } // Import the SAML metadata and update the SAML configuration. MetadataImporter.Import(entityDescriptor, SAMLController.Configuration, null); // Save the SAML configuration. string samlConfigFileName = Server.MapPath("~/App_Data/saml.config"); SAMLConfigurationFile.Save(SAMLController.Configuration, samlConfigFileName); // Show the results. importSuccessful = true; messages.Add(string.Format("The updated SAML configuration has been successfully saved to {0}.", samlConfigFileName)); ShowResults(); } catch (Exception exception) { messages.Add("An error occurred importing the SAML metadata."); messages.Add(exception.ToString()); ShowResults(); } }
private static SAMLConfiguration LoadSAMLConfiguration() { Console.Write("SAML configuration file to export [saml.config]: "); string fileName = Console.ReadLine(); if (string.IsNullOrEmpty(fileName)) { fileName = "saml.config"; } if (!File.Exists(fileName)) { throw new ArgumentException(string.Format("The configuration file {0} doesn't exist.", fileName)); } SAMLConfigurations samlConfigurations = SAMLConfigurationFile.Load(fileName); if (samlConfigurations.Configurations.Count == 1) { return(samlConfigurations.Configurations[0]); } Console.Write("SAML configuration ID [None]: "); string configurationID = Console.ReadLine(); return(samlConfigurations.GetConfiguration(configurationID)); }
static void Main(string[] args) { try { ParseArguments(args); Console.Error.WriteLine("Validating {0}.", fileName); SAMLConfigurationFile.Validate(fileName); Console.Error.WriteLine("The SAML configuration was successfully validated."); } catch (SAMLSchemaValidationException exception) { Console.Error.WriteLine(exception.Message); foreach (XmlSchemaException error in exception.Errors) { Console.Error.WriteLine("Line {0}, Column {1}: {2}", error.LineNumber, error.LinePosition, error.Message); } foreach (XmlSchemaException warning in exception.Warnings) { Console.Error.WriteLine("Line {0}, Column {1}: {2}", warning.LineNumber, warning.LinePosition, warning.Message); } } catch (Exception exception) { Console.Error.WriteLine(exception.ToString()); if (exception is ArgumentException) { ShowUsage(); } } }