static CasOwaAuthHandler()
{
XmlConfigurator.Configure();
log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
ClearPassUrl = ConfigurationManager.AppSettings.Get("CasOwa.ClearPassUrl");
if (String.IsNullOrEmpty(ClearPassUrl))
{
Exception ex = new ConfigurationErrorsException("ClearPassUrl is missing. It must be set in <appSettings> section of <web.conf>. Example: <add key=\"ClearPassUrl\" value=\"https://cashostname/cas/clearPass\"/>");
if (log.IsErrorEnabled)
log.Error(ex.Message, ex);
throw ex;
}
try
{
ClearPassUri = new Uri(ClearPassUrl);
}
catch (UriFormatException ufe)
{
Exception ex = new ConfigurationErrorsException("ClearPassUrl is invalid. Check your settings in <appSettings> section of <web.conf>. " + ufe.Message, ufe);
if (log.IsErrorEnabled)
log.Error(ex.Message, ex);
throw ex;
}
ArtifactParameterName = ConfigurationManager.AppSettings.Get("CasOwa.ArtifactParameterName") ?? ArtifactParameterName;
ServiceParameterName = ConfigurationManager.AppSettings.Get("CasOwa.ServiceParameterName") ?? ServiceParameterName;
OwaUrl = ConfigurationManager.AppSettings.Get("CasOwa.OwaUrl");
if (String.IsNullOrEmpty(OwaUrl))
{
Exception ex = new ConfigurationErrorsException("CasOwa.OwaUrl is missing. It must be set in <appSettings> section of <web.conf>. Example: <add key=\"CasOwa.OwaAuthUrl\" value=\"https://exchangehostname/owa\"/>");
if (log.IsErrorEnabled)
log.Error(ex.Message, ex);
throw ex;
}
OwaAuthPath = ConfigurationManager.AppSettings.Get("CasOwa.OwaAuthPath") ?? OwaAuthPath;
OwaAuthUrl = OwaUrl + OwaAuthPath;
OwaOptionalFormFields = ConfigurationManager.AppSettings.Get("CasOwa.OwaOptionalFormFields") ?? OwaOptionalFormFields;
OwaInboxUrl = ConfigurationManager.AppSettings.Get("CasOwa.OwaInboxUrl");
// This is setting is necessary when using untrusted certificates, typically in a development or testing.
var skipOwaUrlCertificateValidation = ConfigurationManager.AppSettings.Get("CasOwa.skipOwaUrlCertificateValidation");
if (!String.IsNullOrEmpty(skipOwaUrlCertificateValidation) && bool.Parse(skipOwaUrlCertificateValidation))
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return true; });
}