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); } }