mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2025-07-23 14:00:08 +02:00
23 lines
1.4 KiB
Diff
23 lines
1.4 KiB
Diff
diff --git a/node_modules/@node-saml/node-saml/lib/saml.js b/node_modules/@node-saml/node-saml/lib/saml.js
|
|
index fba15b9..a5778cb 100644
|
|
--- a/node_modules/@node-saml/node-saml/lib/saml.js
|
|
+++ b/node_modules/@node-saml/node-saml/lib/saml.js
|
|
@@ -336,7 +336,8 @@ class SAML {
|
|
const requestOrResponse = request || response;
|
|
(0, utility_1.assertRequired)(requestOrResponse, "either request or response is required");
|
|
let buffer;
|
|
- if (this.options.skipRequestCompression) {
|
|
+ // logout requestOrResponse must be compressed anyway
|
|
+ if (this.options.skipRequestCompression && operation !== "logout") {
|
|
buffer = Buffer.from(requestOrResponse, "utf8");
|
|
}
|
|
else {
|
|
@@ -495,7 +496,7 @@ class SAML {
|
|
try {
|
|
xml = Buffer.from(container.SAMLResponse, "base64").toString("utf8");
|
|
doc = await (0, xml_1.parseDomFromString)(xml);
|
|
- const inResponseToNodes = xml_1.xpath.selectAttributes(doc, "/*[local-name()='Response']/@InResponseTo");
|
|
+ const inResponseToNodes = xml_1.xpath.selectAttributes(doc, "/*[local-name()='Response' or local-name()='LogoutResponse']/@InResponseTo");
|
|
if (inResponseToNodes) {
|
|
inResponseTo = inResponseToNodes.length ? inResponseToNodes[0].nodeValue : null;
|
|
await this.validateInResponseTo(inResponseTo);
|