From c590cab9208cc1ccbb362cacafc384a7b6309b04 Mon Sep 17 00:00:00 2001 From: Christian Ulrich Date: Thu, 30 Apr 2020 12:12:06 +0200 Subject: [PATCH 1/3] Revert "additional null checks" This reverts commit cd28397223cfcced549f3ba9dd645f1715106e48. --- library.js | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/library.js b/library.js index cd651c1..17c642d 100644 --- a/library.js +++ b/library.js @@ -38,13 +38,9 @@ params.router.get('/admin/plugins/sso-saml', params.middleware.admin.buildHeader, render); params.router.get('/api/admin/plugins/sso-saml', render); - if (master_config.idp_entry_point != null && - master_config.idp_entry_point !== "" && - master_config.callback_path != null && + if (master_config.idp_entry_point !== "" && master_config.callback_path !== "" && - master_config.issuer != null && master_config.issuer !== "" && - master_config.metadata != null && master_config.metadata !== "") { console.log("creating samlObj"); samlObj = new passportSAML({ @@ -86,9 +82,9 @@ if (samlObj){ - if (master_config.metadata != null && master_config.metadata !== "") { + if (master_config.metadata !== "") { params.router.get(master_config.metadata, function(req, res) { - if (master_config.metadata != null && master_config.server_crt !== ""){ + if (master_config.server_crt !== ""){ var cert = fs.readFileSync(master_config.server_crt, 'utf-8'); res.header("Content-Type", "application/xml"); res.send(samlObj.generateServiceProviderMetadata(cert)) @@ -102,8 +98,7 @@ params.router.post(master_config.callback_path, passport.authenticate('saml'), function(req, res, next){ - if (master_config.login_redirect_url != null && - master_config.login_redirect_url !== ""){ + if (master_config.login_redirect_url !== ""){ res.redirect(master_config.login_redirect_url); } else{ @@ -114,8 +109,7 @@ ); - if (master_config.logout_url != null && - master_config.logout_url !== "") { + if (master_config.logout_url !== "") { params.router.get(master_config.logout_url,function(req,res){ if (req.user && parseInt(req.user.uid, 10) > 0) { @@ -126,8 +120,7 @@ req.logout(); - if (master_config.logout_redirect_url != null && - master_config.logout_redirect_url !== ""){ + if (master_config.logout_redirect_url !== ""){ res.redirect(master_config.logout_redirect_url); } else{ From 1d194ff2b289ac7d54edb80f74edfd0231f83602 Mon Sep 17 00:00:00 2001 From: Christian Ulrich Date: Thu, 30 Apr 2020 12:12:18 +0200 Subject: [PATCH 2/3] Revert "fix checks for empty config options" This reverts commit ef6cdb11cd4d56e28746bda4c0c07919b83d9c1b. --- library.js | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/library.js b/library.js index 17c642d..0b68d8a 100644 --- a/library.js +++ b/library.js @@ -38,10 +38,7 @@ params.router.get('/admin/plugins/sso-saml', params.middleware.admin.buildHeader, render); params.router.get('/api/admin/plugins/sso-saml', render); - if (master_config.idp_entry_point !== "" && - master_config.callback_path !== "" && - master_config.issuer !== "" && - master_config.metadata !== "") { + if (master_config.idp_entry_point && master_config.callback_path && master_config.issuer && master_config.metadata) { console.log("creating samlObj"); samlObj = new passportSAML({ path: master_config.callback_path, @@ -82,9 +79,9 @@ if (samlObj){ - if (master_config.metadata !== "") { + if (master_config.metadata) { params.router.get(master_config.metadata, function(req, res) { - if (master_config.server_crt !== ""){ + if (master_config.server_crt){ var cert = fs.readFileSync(master_config.server_crt, 'utf-8'); res.header("Content-Type", "application/xml"); res.send(samlObj.generateServiceProviderMetadata(cert)) @@ -98,7 +95,7 @@ params.router.post(master_config.callback_path, passport.authenticate('saml'), function(req, res, next){ - if (master_config.login_redirect_url !== ""){ + if (master_config.login_redirect_url){ res.redirect(master_config.login_redirect_url); } else{ @@ -109,7 +106,7 @@ ); - if (master_config.logout_url !== "") { + if (master_config.logout_url) { params.router.get(master_config.logout_url,function(req,res){ if (req.user && parseInt(req.user.uid, 10) > 0) { @@ -120,7 +117,7 @@ req.logout(); - if (master_config.logout_redirect_url !== ""){ + if (master_config.logout_redirect_url){ res.redirect(master_config.logout_redirect_url); } else{ From 3524ffb6effba91bd40ac26471b18553fc1d3ab1 Mon Sep 17 00:00:00 2001 From: Christian Ulrich Date: Thu, 30 Apr 2020 12:18:42 +0200 Subject: [PATCH 3/3] initialize samlObj in getStrategy --- library.js | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/library.js b/library.js index 0b68d8a..7fcbdb3 100644 --- a/library.js +++ b/library.js @@ -38,6 +38,22 @@ params.router.get('/admin/plugins/sso-saml', params.middleware.admin.buildHeader, render); params.router.get('/api/admin/plugins/sso-saml', render); + console.log("[sso-saml] init done"); + callback(); + }; + + SAML.get_config = function(options, callback) { + meta.settings.get('sso_saml', function(err, settings) { + if (err) { + return callback(null, options); + } + master_config = settings; + options.sso_saml = settings; + callback(null, options); + }); + }, + + SAML.initSaml = function() { if (master_config.idp_entry_point && master_config.callback_path && master_config.issuer && master_config.metadata) { console.log("creating samlObj"); samlObj = new passportSAML({ @@ -75,8 +91,6 @@ ); } - console.log("[sso-saml] samlObj", samlObj); - if (samlObj){ if (master_config.metadata) { @@ -133,26 +147,12 @@ else { console.log("[sso-saml] Cannot create samlObj"); } - - console.log("[sso-saml] init done"); - callback(); - }; - - - SAML.get_config = function(options, callback) { - meta.settings.get('sso_saml', function(err, settings) { - if (err) { - return callback(null, options); - } - master_config = settings; - options.sso_saml = settings; - callback(null, options); - }); - }, - + } SAML.getStrategy = function(strategies, callback) { + initSaml(); + if (samlObj){ passport.use(samlObj);