@@ -405,6 +405,71 @@ public function testGetNameIdData()
405405 } catch (OneLogin_Saml2_ValidationError $ e ) {
406406 $ this ->assertContains ('An empty NameID value found ' , $ e ->getMessage ());
407407 }
408+
409+ $ xml7 = file_get_contents (TEST_ROOT . '/data/responses/invalids/no_value_nameid.xml.base64 ' );
410+ $ response11 = new OneLogin_Saml2_Response ($ this ->_settings , $ xml7 );
411+ $ nameIdData12 = $ response11 ->getNameIdData ();
412+ $ expectedNameIdData10 = array (
413+ 'Value ' => "" ,
414+ 'Format ' => "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress "
415+ );
416+ $ this ->assertEquals ($ expectedNameIdData10 , $ nameIdData12 );
417+
418+ $ settingsDir = TEST_ROOT .'/settings/ ' ;
419+ include $ settingsDir .'settings1.php ' ;
420+
421+ $ settingsInfo ['strict ' ] = true ;
422+ $ settingsInfo ['security ' ]['wantNameId ' ] = true ;
423+
424+ $ settings = new OneLogin_Saml2_Settings ($ settingsInfo );
425+ $ response12 = new OneLogin_Saml2_Response ($ settings , $ xml7 );
426+
427+ try {
428+ $ nameIdData13 = $ response12 ->getNameIdData ();
429+ $ this ->fail ('OneLogin_Saml2_ValidationError was not raised ' );
430+ } catch (OneLogin_Saml2_ValidationError $ e ) {
431+ $ this ->assertContains ('An empty NameID value found ' , $ e ->getMessage ());
432+ }
433+
434+ $ settingsInfo ['security ' ]['wantNameId ' ] = false ;
435+
436+ $ settings = new OneLogin_Saml2_Settings ($ settingsInfo );
437+ $ response13 = new OneLogin_Saml2_Response ($ settings , $ xml7 );
438+
439+ $ nameIdData14 = $ response13 ->getNameIdData ();
440+
441+ $ expectedNameIdData11 = array (
442+ 'Value ' => "" ,
443+ 'Format ' => "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress "
444+ );
445+ $ this ->assertEquals ($ expectedNameIdData11 , $ nameIdData14 );
446+
447+ $ settingsInfo ['strict ' ] = false ;
448+ $ settingsInfo ['security ' ]['wantNameId ' ] = true ;
449+
450+ $ settings = new OneLogin_Saml2_Settings ($ settingsInfo );
451+ $ response14 = new OneLogin_Saml2_Response ($ settings , $ xml7 );
452+
453+ $ nameIdData15 = $ response14 ->getNameIdData ();
454+
455+ $ expectedNameIdData12 = array (
456+ 'Value ' => "" ,
457+ 'Format ' => "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress "
458+ );
459+ $ this ->assertEquals ($ expectedNameIdData12 , $ nameIdData15 );
460+
461+ $ settingsInfo ['security ' ]['wantNameId ' ] = false ;
462+
463+ $ settings = new OneLogin_Saml2_Settings ($ settingsInfo );
464+ $ response15 = new OneLogin_Saml2_Response ($ settings , $ xml7 );
465+
466+ $ nameIdData16 = $ response15 ->getNameIdData ();
467+
468+ $ expectedNameIdData13 = array (
469+ 'Value ' => "" ,
470+ 'Format ' => "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress "
471+ );
472+ $ this ->assertEquals ($ expectedNameIdData13 , $ nameIdData16 );
408473 }
409474
410475 /**
0 commit comments