diff --git a/modules/saml/lib/Auth/Source/SP.php b/modules/saml/lib/Auth/Source/SP.php index 5155d48440f47a4780575beeb8edad8bad942ea9..eaf676534cc5526d0cb7b60b20f3c69e4655cf87 100644 --- a/modules/saml/lib/Auth/Source/SP.php +++ b/modules/saml/lib/Auth/Source/SP.php @@ -439,8 +439,6 @@ class sspmod_saml_Auth_Source_SP extends SimpleSAML_Auth_Source { $authProcState = array( 'saml:sp:IdP' => $idp, - 'saml:sp:NameID' => $state['saml:sp:NameID'], - 'saml:sp:SessionIndex' => $state['saml:sp:SessionIndex'], 'saml:sp:State' => $state, 'ReturnCall' => array('sspmod_saml_Auth_Source_SP', 'onProcessingCompleted'), @@ -449,6 +447,13 @@ class sspmod_saml_Auth_Source_SP extends SimpleSAML_Auth_Source { 'Source' => $idpMetadataArray, ); + if (isset($state['saml:sp:NameID'])) { + $authProcState['saml:sp:NameID'] = $state['saml:sp:NameID']; + } + if (isset($state['saml:sp:SessionIndex'])) { + $authProcState['saml:sp:SessionIndex'] = $state['saml:sp:SessionIndex']; + } + $pc = new SimpleSAML_Auth_ProcessingChain($idpMetadataArray, $spMetadataArray, 'sp'); $pc->processState($authProcState);