public void SendPostBindingLogoutRequest(HttpContext context) { LogoutRequest logoutRequest = new LogoutRequest { DestinationUrl = new Uri(ssoAgentConfig.Saml2.IdPURL), Issuer = new EntityId(ssoAgentConfig.Saml2.SPEntityId) }; string logoutRequestStr = null; if (ssoAgentConfig.Saml2.IsRequestSigned) { X509Certificate2 cert = LoadX509Certificate(); // Embed signature element. logoutRequestStr = EmbedSignatureIntoAuthnRequest(logoutRequest.BuildRequest(), logoutRequest.Id.Value, cert); } else { logoutRequestStr = logoutRequest.BuildRequest().ToString(); } WritePostDataToOutputStream(context.Response, PerformBase64Encoding(logoutRequestStr)); }
public string BuildRedirectBindingLogoutRequest() { LogoutRequest logoutRequest = new LogoutRequest { DestinationUrl = new Uri(ssoAgentConfig.Saml2.IdPURL), Issuer = new EntityId(ssoAgentConfig.Saml2.SPEntityId) }; string samlRequestString = "SAMLRequest=" + EncodeSamlRequest(logoutRequest.BuildRequest().ToString()); if (ssoAgentConfig.Saml2.IsRequestSigned) { X509Certificate2 cert = LoadX509Certificate(); string signedReq = DoSignRedirectRequest(samlRequestString, cert); return(string.Concat(ssoAgentConfig.Saml2.IdPURL, "?", signedReq)); } else { return(string.Concat(ssoAgentConfig.Saml2.IdPURL, "?", samlRequestString)); } }