UNPKG

@elm-street-technology/passport-saml-metadata

Version:
23 lines (19 loc) 785 B
const assert = require('assert'); const SAML = require('passport-saml').SAML; function configureMetadataRoute(app, config = {}) { assert.equal(typeof config, 'object', 'config must be an object'); assert.ok(config.issuer, 'config.issuer is required'); assert.ok(config.callbackUrl, 'config.callbackUrl is required'); app.get('/FederationMetadata/2007-06/FederationMetadata.xml', function(req, res) { const saml = new SAML({ issuer: config.issuer, callbackUrl: config.callbackUrl, logoutCallbackUrl: config.logoutCallbackUrl }); const xml = saml.generateServiceProviderMetadata(); res.set('Content-Type', 'application/samlmetadata+xml').send(xml); }); } module.exports = (config) => function() { configureMetadataRoute(this, config); };