From b8d1f13e1ff6dd8dc4961edce658cdd6a40ec12a Mon Sep 17 00:00:00 2001 From: Olav Morken <olav.morken@uninett.no> Date: Mon, 7 Mar 2011 13:23:53 +0000 Subject: [PATCH] saml: Allow selecting value for AllowCreate. git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@2743 44740490-163a-0410-bde0-09ae8108e29a --- modules/saml/lib/Auth/Source/SP.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/modules/saml/lib/Auth/Source/SP.php b/modules/saml/lib/Auth/Source/SP.php index ce68b088e..5004069b6 100644 --- a/modules/saml/lib/Auth/Source/SP.php +++ b/modules/saml/lib/Auth/Source/SP.php @@ -202,10 +202,17 @@ class sspmod_saml_Auth_Source_SP extends SimpleSAML_Auth_Source { } if (isset($state['saml:NameIDPolicy'])) { - $ar->setNameIdPolicy(array( - 'Format' => (string)$state['saml:NameIDPolicy'], - 'AllowCreate' => TRUE, - )); + if (is_string($state['saml:NameIDPolicy'])) { + $policy = array( + 'Format' => (string)$state['saml:NameIDPolicy'], + 'AllowCreate' => TRUE, + ); + } elseif (is_array($state['saml:NameIDPolicy'])) { + $policy = $state['saml:NameIDPolicy']; + } else { + throw new SimpleSAML_Error_Exception('Invalid value of $state[\'saml:NameIDPolicy\'].'); + } + $ar->setNameIdPolicy($policy); } if (isset($state['saml:IDPList'])) { -- GitLab