italia / spid-rails

SPID authentication for Ruby on Rails
MIT License
13 stars 9 forks source link

Probabile bug nella creazione del AuthNRequest #33

Closed Jeanluc74 closed 4 years ago

Jeanluc74 commented 4 years ago

Buongiorno,

vi segnalo un'anomalia nella creazione dell'AuthNRequest emersa nei test per la validazione del nostro SP metadata di Agid. Agid segnala che la gem costruisce la AutnNRequest nel formato HTTP-Redirect alla Location che nel Idp metadata è dichiarata per il binding HTTP-POST. Ovviamente il caso si manifesta con maggiore chiarezza dove i due indirizzi sono diversi. Vi ringrazio anticipatamente per il supporto.

Saluti,

Gian Luca

Jeanluc74 commented 4 years ago

Chiudo la issue indicando la soluzione adottata per futuri utilizzatori della gem. Il problema si manifesta in particolare con tre IDP (namirial, lepida e poste) che hanno nel loro idp metadata url diversi per i binding post e redirect. Non si manifesta negli altri perché l'url uguale per i due binding non evidenzia il problema. E' stato risolto modificando il metodo IdpMetadataParser.single_signon_service_url in modo che il binding sia sempre "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect". Peraltro come da documentazione l'unico binding supportato per la AuthNRequest è proprio Redirect. Con questa semplice modifica il binding funziona correttamente anche con gli idp sopra.