RocketChat/Rocket.Chat · error · Error
SAML Logout Request: No NameID node found
Error message
SAML Logout Request: No NameID node found
What it means
Error "SAML Logout Request: No NameID node found" thrown in RocketChat/Rocket.Chat.
Source
Thrown at apps/meteor/server/lib/saml/lib/parsers/LogoutRequest.ts:41
return callback('Signature validation failed');
}
const doc = new xmldom.DOMParser().parseFromString(xmlString, 'text/xml');
if (!doc) {
return callback('No Doc Found');
}
const request = doc.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:protocol', 'LogoutRequest')[0];
if (!request) {
return callback('No Request Found');
}
try {
const sessionNode = request.getElementsByTagNameNS('*', 'SessionIndex')[0];
const nameIdNode = request.getElementsByTagNameNS('*', 'NameID')[0];
if (!nameIdNode) {
throw new Error('SAML Logout Request: No NameID node found');
}
const idpSession = sessionNode.childNodes[0].nodeValue;
const nameID = nameIdNode.childNodes[0].nodeValue;
const id = request.getAttribute('ID');
return callback(null, { idpSession, nameID, id });
} catch (err) {
SAMLUtils.error({ err });
const statusMessage = doc.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:protocol', 'StatusMessage');
SAMLUtils.log({ msg: `Unexpected msg from IDP. Does your session still exist at IDP?`, statusMessage });
return callback(err instanceof Error ? err : String(err), null);
}
}
private verifySignature(envelope: SAMLRedirectEnvelope<'SAMLRequest'>): boolean {View on GitHub (pinned to b2c16d5842)
Solutions
- Verify the IdP's logout request XML contains a NameID element; check the IdP single-logout configuration.
When it happens
Trigger: Thrown when parsing a SAML Logout Request XML that contains no NameID node.
Common situations: See trigger scenarios.
AI-assisted analysis of RocketChat/Rocket.Chat@b2c16d5842 (2026-08-18).
Data as JSON: /api/errors/76e4a9bf775d14b5.
Report an issue: GitHub.