public static MyInfoConnector Create(string path) { var map = new ExeConfigurationFileMap() { ExeConfigFilename = path }; var libConfig = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None); var section = (libConfig.GetSection("appSettings") as AppSettingsSection); var config = MyInfoConnectorConfig.Load(section); return(Create(config)); }
/// <summary> /// Load from callbacks which allows the consuming code to dynamically change response depending on environment /// for example - decrypt production password /// </summary> public static MyInfoConnectorConfig Load(Func <string, string> getSetting) { var output = new MyInfoConnectorConfig(); output.PrivateKeyFilename = getSetting("PrivateKeyFilename"); output.PrivateKeyPassword = getSetting("PrivateKeyPassword"); output.PublicCertificateFilename = getSetting("PublicCertificateFilename"); output.ClientId = getSetting("ClientId"); output.ClientSecret = getSetting("ClientSecret"); output.AttributeCsv = getSetting("AttributeCsv"); output.Environment = getSetting("Environment"); output.TokenUrl = getSetting("TokenUrl"); output.PersonUrl = getSetting("PersonUrl"); output.AuthoriseUrl = getSetting("AuthoriseUrl"); output.Purpose = getSetting("Purpose"); return(output); }
private MyInfoConnector(MyInfoConnectorConfig config) { _config = config; }
public static MyInfoConnector Create(MyInfoConnectorConfig config) { return(new MyInfoConnector(config)); }