RocketChat/Rocket.Chat · error · Error

Missing SAML action

Error message

Missing SAML action

What it means

Error "Missing SAML action" thrown in RocketChat/Rocket.Chat.

Source

Thrown at apps/meteor/server/lib/saml/listener.ts:52

		credentialToken: splitPath[4],
	};

	SAMLUtils.log(result);
	return result;
};

const middleware = async function (req: express.Request, res: ServerResponse, next: (err?: any) => void): Promise<void> {
	// Make sure to catch any exceptions because otherwise we'd crash
	// the runner
	try {
		const samlObject = samlUrlToObject(req.originalUrl);
		if (!samlObject?.serviceName) {
			next();
			return;
		}

		if (!samlObject.actionName) {
			throw new Error('Missing SAML action');
		}

		const service = SAMLUtils.getServiceProviderOptions(samlObject.serviceName);
		if (!service) {
			SystemLogger.error({
				msg: 'SAML service provider not found',
				serviceName: samlObject.serviceName,
			});
			throw new Error('SAML Service Provider not found.');
		}

		await SAML.processRequest(req, res, service, samlObject);
	} catch (err) {
		// @ToDo: Ideally we should send some error message to the client, but there's no way to do it on a redirect right now.
		SystemLogger.error({ err });

		if (!res.headersSent) {
			const url = Meteor.absoluteUrl('home');

View on GitHub (pinned to b2c16d5842)

Solutions

  1. Call the SAML endpoint with a supported action parameter (e.g. authorize or metadata).

When it happens

Trigger: Thrown in the SAML listener when the incoming request has no SAML action (login/logout/metadata).

Common situations: See trigger scenarios.


AI-assisted analysis of RocketChat/Rocket.Chat@b2c16d5842 (2026-08-18). Data as JSON: /api/errors/143bf1ee03719578. Report an issue: GitHub.