Implementazione login spid con SPID-PHP

Salve,

per l’implementazione di un login con spid vorremmo utilizzare la libreria spid-php.

Facciamo riferimento a quanto disponibile su questa pagina
https://github.com/italia/spid-php
sia per quanto concerne i requisiti di sistema che per la procedura da seguire nella installazione e configurazione.

Per quanto riguarda il server, di seguito le specifiche:
Ubuntu 20.04 LTS
Php 7.4.3 (xml, mbstring e gmp abilitate)
Webserver Apache 2.4.41

Per l’installazione abbiamo seguito alla lettera la procedura indicata nella documentazione e tutto sembra filare in modo corretto: la procedura non fallisce e ritorna un messaggio di avvenuta e corretta installazione.

Tuttavia, nel momento in cui cerchiamo di scaricare il metadata per registrarlo nell’ambiente demo viene generato un “Errore non identificato” dalla libreria SimpleSamlPhp quando torna sul file error.php con una chiamata POST, senza alcun altro riferimento.

A livello di log, nel file di log di simplesaml leggiamo quanto segue:

Feb 07 16:57:57 simplesamlphp ERROR [a03be44ebc] Backtrace:
Feb 07 16:57:57 simplesamlphp ERROR [a03be44ebc] 1 /var/www/spid-php/vendor/simplesamlphp/simplesamlphp/lib/SimpleSAML/Module.php:157 (SimpleSAML\Module::process)
Feb 07 16:57:57 simplesamlphp ERROR [a03be44ebc] 0 /var/www/spid-php/vendor/simplesamlphp/simplesamlphp/www/module.php:10 (N/A)
Feb 07 16:57:57 simplesamlphp ERROR [a03be44ebc] Error report with id 4d8976ae generated.
Feb 07 16:57:57 simplesamlphp DEBUG [a03be44ebc] Localization: using old system
Feb 07 16:58:29 simplesamlphp ERROR [f5cf1962e4] Missing default-enable or default-disable file for the module modules
Feb 07 16:58:29 simplesamlphp ERROR [f5cf1962e4] SimpleSAML\Error\NotFound: The requested page 'https://spid-php.udanet.it/myservice/module.php/saml/sp/metadata.php/service' could not be found. The module 'saml' was either not found, or wasn't enabled.

Non riusciamo a venire a capo dell’errore. Potrebbe trattarsi di qualche configurazione errata di virtualhost o path che impedisce alla libreria di risolvere le dipendenze dei moduli?

Nella documentazione vi è solo il riferimento alla configurazione di un virtualhost ngnix e duque per apache abbiamo provato questa configurazione a seguito di molti altri tentativi, ma nulla da fare…

<IfModule mod_ssl.c>
<VirtualHost *:443>
 ServerAdmin mauro.cecamore@udanet.it
 DocumentRoot /var/www/spid-php.udanet.it/public
 ServerName spid-php.udanet.it

 SetEnv SIMPLESAMLPHP_CONFIG_DIR /var/www/spid-php/vendor/simplesamlphp/simplesamlphp/config

 Alias /myservice /var/www/spid-php/vendor/simplesamlphp/simplesamlphp/www

<Directory /var/www/spid-php/vendor/simplesamlphp/simplesamlphp/www>
                Require all granted
            </Directory>

<Directory /var/www/spid-php.udanet.it>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined

SSLCertificateFile /etc/letsencrypt/live/spid-php.udanet.it/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/spid-php.udanet.it/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

Qualcuno potrebbe darci supporto?

Grazie

Mauro Cecamore

Buonasera @Mauro_Cecamore ,
puoi verificare se il problema si presenta sulle ultime versioni di spid-php.
Se dovesse presentarsi ancora, ti chiedo di aprire una issue sul repository, oppure segnalare il problema sul canale slack dedicato.

Grazie
Michele D’Amico (@damikael)