#request.SAML.baseUrl#metadata.cfm
logout64 = (deflate2base64(logoutResponseXml));
logoutUrl = urlEncodeRfc2396(logout64);
logoutSigAlgUrl= urlEncodeRfc2396('http://www.w3.org/2001/04/xmldsig-more##rsa-sha256');
if (len(target_page)) { //empty RelayState would not be accepted
relayStateX = "&RelayState=#urlEncodeRfc2396(target_page)#";
} else {
relayStateX = "";
}
logoutRequest2Sign="SAMLRequest=#logoutUrl##relayStateX#&SigAlg=#logoutSigAlgUrl#"; //order matters
signedBytesUrl = urlEncodeRfc2396(sign2base64(logoutRequest2Sign, privateKey, 'SHA256withRSA'));
logoutRequest="#logoutRequest2Sign#&Signature=#signedBytesUrl#";
#request.SAML.baseUrl#metadata.cfm
#SAML_NameID#
#SAML_SessionIndex#
logout64 = (deflate2base64(logoutRequestXml));
logoutUrl = urlEncodeRfc2396(logout64);
logoutSigAlgUrl= urlEncodeRfc2396('http://www.w3.org/2001/04/xmldsig-more##rsa-sha256');
if (len(target_page)) { //empty RelayState would not be accepted
relayStateX = "&RelayState=#urlEncodeRfc2396(target_page)#";
} else {
relayStateX = "";
}
logoutRequest2Sign="SAMLRequest=#logoutUrl##relayStateX#&SigAlg=#logoutSigAlgUrl#"; //order matters
signedBytesUrl = urlEncodeRfc2396(sign2base64(logoutRequest2Sign,privateKey,'SHA256withRSA'));
logoutRequest="#logoutRequest2Sign#&Signature=#signedBytesUrl#";