Problem/Motivation

hi ,
We have updated our drupal site to version 10 (initially we had version simplesamlphp 2.0.2 and simplesaml module v3.3 with drupal 9 and it was working) once we upgraded to drupal 10 it stopped working. so i went through the module page stating : SimpleSAMLphp 2.1 is compatible with Symfony 6 and therefore Drupal 10, the new 4.x version of this project supports that. so i updated simplesamlphp to 2.1.1 and simplesaml module is 4.0.0 , however still getting error :

TypeError: SimpleSAML\Utils\Config\Metadata::parseNameIdPolicy(): Argument #1 ($nameIdPolicy) must be of type ?array, string given, called in /storage/www/www/lib-reimagined-9/vendor/simplesamlphp/simplesamlphp/modules/saml/src/Message.php on line 477 in SimpleSAML\Utils\Config\Metadata::parseNameIdPolicy() (line 250 of /storage/www/www/lib-reimagined-9/vendor/simplesamlphp/simplesamlphp/src/SimpleSAML/Utils/Config/Metadata.php).

Steps to reproduce

we get this error once we click on login via saml

Proposed resolution

i have updated to version 2.1 which supports Symphony 6 and still getting this error. I even cleared cache in drupal to be sure. Please let me know what i can do. thank you

Comments

chdeepak created an issue.

mahde’s picture

Hey @chdeepak Have you got a solution for this?

no sssweat’s picture

I find it hard to believe that no one has reported such critical issue sooner.

Thus, I think it's a side effect of this other issue,

https://www.drupal.org/project/simplesamlphp_auth/issues/3340606#comment...

mahde’s picture

Got to fix this issue by updating the following line in authsources.php

from

'NameIDPolicy' => 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',

to

'NameIDPolicy' => ["Format" => Constants::NAMEID_PERSISTENT],

And don't forget to add this at the top:

use SAML2\Constants;