From 7bbf9fc7b9b43d31b63c133b893e742767784e94 Mon Sep 17 00:00:00 2001 From: Tim van Dijen <tvdijen@gmail.com> Date: Fri, 26 Jan 2018 23:00:47 +0100 Subject: [PATCH] Use utility-method to parse NameIDPolicy --- lib/SimpleSAML/Utils/Config/Metadata.php | 2 +- modules/saml/lib/Message.php | 21 +-------------------- 2 files changed, 2 insertions(+), 21 deletions(-) diff --git a/lib/SimpleSAML/Utils/Config/Metadata.php b/lib/SimpleSAML/Utils/Config/Metadata.php index ad20c4c74..133d9ffe9 100644 --- a/lib/SimpleSAML/Utils/Config/Metadata.php +++ b/lib/SimpleSAML/Utils/Config/Metadata.php @@ -297,7 +297,7 @@ class Metadata $policy = array('Format' => $nameIdPolicy); } elseif (is_array($nameIdPolicy)) { // handle current configurations specifying an array in the NameIDPolicy config option - $nameIdPolicy_cf = SimpleSAML_Configuration::loadFromArray($nameIdPolicy); + $nameIdPolicy_cf = \SimpleSAML_Configuration::loadFromArray($nameIdPolicy); $policy = array( 'Format' => $nameIdPolicy_cf->getString('Format', \SAML2\Constants::NAMEID_TRANSIENT), 'AllowCreate' => $nameIdPolicy_cf->getBoolean('AllowCreate', true), diff --git a/modules/saml/lib/Message.php b/modules/saml/lib/Message.php index 734a4067c..a42d3e34d 100644 --- a/modules/saml/lib/Message.php +++ b/modules/saml/lib/Message.php @@ -442,26 +442,7 @@ class sspmod_saml_Message $nameIdPolicy = $spMetadata->getValue('NameIDPolicy'); } - $policy = null; - if (is_string($nameIdPolicy)) { - // handle old configurations where 'NameIDPolicy' was used to specify just the format - $policy = array('Format' => $nameIdPolicy); - } elseif (is_array($nameIdPolicy)) { - // handle current configurations specifying an array in the NameIDPolicy config option - $nameIdPolicy_cf = SimpleSAML_Configuration::loadFromArray($nameIdPolicy); - $policy = array( - 'Format' => $nameIdPolicy_cf->getString('Format', \SAML2\Constants::NAMEID_TRANSIENT), - 'AllowCreate' => $nameIdPolicy_cf->getBoolean('AllowCreate', true), - ); - $spNameQualifier = $nameIdPolicy_cf->getString('SPNameQualifier', false); - if ($spNameQualifier !== false) { - $policy['SPNameQualifier'] = $spNameQualifier; - } - } elseif ($nameIdPolicy === null) { - // when NameIDPolicy is unset or set to null, default to transient as before - $policy = array('Format' => \SAML2\Constants::NAMEID_TRANSIENT); - } - + $policy = \SimpleSAML\Utils\Config\Metadata::parseNameIdPolicy($nameIdPolicy); if ($policy !== null) { // either we have a policy set, or we used the transient default $ar->setNameIdPolicy($policy); -- GitLab