public void InitializePropertySet()
        {
            Dictionary <string, string> ssoProperties = new Dictionary <string, string>();

            //assign default values for properties
            LoadDefaultValuesForProperties(ssoProperties);

            //load values from Settings.settings file
            LoadSettingsFileValuesForProperties(ssoProperties);

            SSOAgentConfig ssoAgentConfig = new SSOAgentConfig(ssoProperties);

            HttpContext.Current.Application[SSOAgentConstants.CONFIG_BEAN_NAME] = ssoAgentConfig;
        }
        private void PostAcquireRequestState(object sender, EventArgs e)
        {
            HttpApplication application = (HttpApplication)sender;
            HttpContext     context     = application.Context;

            SSOAgentConfig          ssoAgentConfig  = (SSOAgentConfig)HttpContext.Current.Application[SSOAgentConstants.CONFIG_BEAN_NAME];
            SSOAgentRequestResolver requestResolver = new SSOAgentRequestResolver(context.Request, ssoAgentConfig);
            OIDCManager             oidcManager;

            if (requestResolver.IsOIDCCodeResponse())
            {
                oidcManager = new OIDCManager(ssoAgentConfig);
                oidcManager.ProcessCodeResponse(context.Request);
                context.Response.Redirect(HttpContext.Current.Session["loginRequestedFrom"].ToString());
            }

            if (requestResolver.IsOIDCSSOURL())
            {
                oidcManager = new OIDCManager(ssoAgentConfig);

                HttpContext.Current.Session["loginRequestedFrom"] = GetLoginRequstedLocation(context.Request);
                context.Response.Redirect(oidcManager.BuildAuthorizationRequest(context.Request));
            }

            if (requestResolver.IsSLOURL())
            {
                oidcManager = new OIDCManager(ssoAgentConfig);
                context.Response.Redirect(oidcManager.BuildLogoutURL());
            }

            // Following if block is related to oidc single logout.
            // This block gets hit when passive authentication falis.
            if (context.Request.Params["error"] != null)
            {
                context.Session.Abandon();
                context.Response.Redirect(ssoAgentConfig.Oidc.PostLogoutRedirectUri);
            }

            //Handling idp redirection to callback url after successful logout.
            if (requestResolver.IsSLOResponse())
            {
                context.Session.Abandon();
                context.Response.Redirect(ssoAgentConfig.Oidc.PostLogoutRedirectUri);
            }
        }