italia / spid-laravel

SPID authentication package for Laravel
BSD 3-Clause "New" or "Revised" License
47 stars 18 forks source link

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

Open desh901 opened 4 years ago

desh901 commented 4 years ago

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.

pdavide commented 4 years ago

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?

desh901 commented 4 years ago

Ciao @pdavide,

Se trovo un po di tempo molto volentieri.

valeriogalano commented 3 months ago

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