italia/spid-laravel

SAML response validation error: The response was received at HTTP instead of HTTPS

Opened this issue · 3 comments

Se la propria app è dietro un proxy che fa SSL offloading si verifica il seguente problema:

SAML response validation error: The response was received at http://myapp.local/spid/acs instead of https://myapp.local/spid/acs

Per risolverlo occorre settare proxyVars = true su php-saml. Putroppo la libreria non permette di configurare questo parametro da spid-auth.php.

Un workaround momentaneo che ho testato e risulta funzionante è modificare l'AppServiceProvider come segue:

use OneLogin\Saml2\Utils as SAMLUtils;

class AppServiceProvider extends ServiceProvider {
   
    public function boot() {
          SAMLUtils::setProxyVars(true);
          // Other stuff
    }

Sarebbe utile avere un parametro proxy_vars in spid-auth.php che aggiunga la seguente configurazione in fase di costruzione della richiesta di login.

Ciao @desh901,
grazie per la segnalazione.

Quello che descrivi è sicuramente uno use case valido. Se php-saml già supporta questo scenario, l'aggiunta di un parametro da impostare mediante il file spid-auth.php mi sembra di facile implementazione.

Se riesci potresti contribuire con una PR per risolvere la issue?

Ciao @pdavide,

Se trovo un po di tempo molto volentieri.

Ciao @pdavide,
ho creato una PR per aggiungere una configurazione per il valore proxyVars.
Se serve qualche aggiustamento, chiedi pure.