{"record":{"id":"9609d2df56f2f89d","repo":"RocketChat/Rocket.Chat","slug":"missing-saml-assertion","errorCode":null,"errorMessage":"Missing SAML assertion","messagePattern":"Missing SAML assertion","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"apps/meteor/server/lib/saml/lib/parsers/Response.ts","lineNumber":255,"sourceCode":"\t\t\t\t\tSAMLUtils.error(err);\n\t\t\t\t}\n\n\t\t\t\tconst document = new xmldom.DOMParser().parseFromString(result, 'text/xml');\n\t\t\t\tif (!document) {\n\t\t\t\t\tthrow new Error('Failed to decrypt SAML assertion');\n\t\t\t\t}\n\n\t\t\t\tconst decryptedAssertions = document.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:assertion', 'Assertion');\n\t\t\t\tif (decryptedAssertions.length) {\n\t\t\t\t\tassertion = decryptedAssertions[0];\n\t\t\t\t}\n\n\t\t\t\tnewXml = result;\n\t\t\t});\n\t\t}\n\n\t\tif (!assertion) {\n\t\t\tthrow new Error('Missing SAML assertion');\n\t\t}\n\n\t\treturn {\n\t\t\tassertion,\n\t\t\txml: newXml || xml,\n\t\t};\n\t}\n\n\tprivate verifySignatures(response: Element, assertionData: ISAMLAssertion, xml: string): void {\n\t\tconst signatureType = this.serviceProviderOptions.signatureValidationType;\n\n\t\tconst checkEither = signatureType === 'Either';\n\t\tconst checkResponse = signatureType === 'Response' || signatureType === 'All' || checkEither;\n\t\tconst checkAssertion = signatureType === 'Assertion' || signatureType === 'All' || checkEither;\n\t\tlet anyValidSignature = false;\n\n\t\tif (!this.serviceProviderOptions.cert) {\n\t\t\tif (checkResponse || checkAssertion) {","sourceCodeStart":237,"sourceCodeEnd":273,"githubUrl":"https://github.com/RocketChat/Rocket.Chat/blob/b2c16d5842cbe6b69b59bdf6fc5e5f1afcd1f0b0/apps/meteor/server/lib/saml/lib/parsers/Response.ts#L237-L273","documentation":"Error \"Missing SAML assertion\" thrown in RocketChat/Rocket.Chat.","triggerScenarios":"Thrown when a SAML Response contains no encrypted or plain Assertion node.","commonSituations":"See trigger scenarios.","solutions":["Ensure the IdP includes an assertion in the SAML response; check the IdP and any proxy that might strip the assertion."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b2c16d5842cbe6b69b59bdf6fc5e5f1afcd1f0b0","analyzedAt":"2026-08-18T15:26:39.429Z","contentChangedAt":"2026-08-18T15:26:39.429Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}