diff --git a/modules/saml/lib/IdP/SAML2.php b/modules/saml/lib/IdP/SAML2.php index 3b33c7b34feaecb6e485daba4c650f3f7fdd7da0..e7615a950f36a61dd803a0552f0e6df4a0c668ef 100644 --- a/modules/saml/lib/IdP/SAML2.php +++ b/modules/saml/lib/IdP/SAML2.php @@ -865,7 +865,10 @@ class sspmod_saml_IdP_SAML2 { if ($nameIdFormat === NULL || !isset($state['saml:NameID'][$nameIdFormat])) { /* Either not set in request, or not set to a format we supply. Fall back to old generation method. */ - $nameIdFormat = $spMetadata->getString('NameIDFormat', 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient'); + $nameIdFormat = $spMetadata->getString('NameIDFormat', NULL); + if ($nameIdFormat === NULL) { + $nameIdFormat = $idpMetadata->getString('NameIDFormat', SAML2_Const::NAMEID_TRANSIENT); + } } if (isset($state['saml:NameID'][$nameIdFormat])) {