RocketChat/Rocket.Chat · error · Error

Unable to generate service provider metadata when callbackUr

Error message

Unable to generate service provider metadata when callbackUrl option is not set

What it means

Error "Unable to generate service provider metadata when callbackUrl option is not set" thrown in RocketChat/Rocket.Chat.

Source

Thrown at apps/meteor/server/lib/saml/lib/generators/ServiceProviderMetadata.ts:42

		if (!serviceProviderOptions.privateCert) {
			throw new Error('Missing certificate while generating metadata for decrypting service provider');
		}

		return serviceProviderOptions.metadataCertificateTemplate || defaultMetadataCertificateTemplate;
	}

	private static metadataTemplate(serviceProviderOptions: IServiceProviderOptions): string {
		const data = {
			certificateTag: this.certificateTagTemplate(serviceProviderOptions),
		};

		const template = serviceProviderOptions.metadataTemplate || defaultMetadataTemplate;
		return SAMLUtils.fillTemplateData(template, data);
	}

	private static getData(serviceProviderOptions: IServiceProviderOptions): IMetadataVariables {
		if (!serviceProviderOptions.callbackUrl) {
			throw new Error('Unable to generate service provider metadata when callbackUrl option is not set');
		}

		return {
			issuer: serviceProviderOptions.issuer,
			certificate: SAMLUtils.normalizeCert(serviceProviderOptions.privateCert),
			identifierFormat: serviceProviderOptions.identifierFormat || defaultIdentifierFormat,
			callbackUrl: serviceProviderOptions.callbackUrl,
			sloLocation: `${Meteor.absoluteUrl()}_saml/logout/${serviceProviderOptions.provider}/`,
		};
	}
}

View on GitHub (pinned to b2c16d5842)

Solutions

  1. Set the SAML callback URL (site URL / callbackUrl option) in the service provider settings before generating metadata.

When it happens

Trigger: Thrown when generating service provider metadata while the SAML callbackUrl option is not set.

Common situations: See trigger scenarios.


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