per il progetto di Whistleblowing Anticorruzione Opensource GlobaLeaks www.globaleaks.org vorremmo approcciare l’integrazione di SPID, come opzione di autenticazione-identificazione Whistleblower.
Volevo sapere se ad oggi ci sono implementazioni pure-python del supporto SPID che siano già state integrate in situazioni simili, o se c’è qualche progetto che vada in questa direzione?
Non abbiamo funding per l’implementazione SPID, non avendo un progetto specifico di una PA che lo richiede, ma ci piacerebbe effettuare l’analisi tecnologica pubblicamente e magari con un po’ di nostro impegno e un po’ di impegno di qualche opensource enthusiast, riusciamo a tirare fuori un prototipo
Insomma, questo post per stimolare la raccolta di una analisi tecnologica di quali code snippets si potrebbero “assemblare” per ottenere un autenticatore SPID con un webserver pure python
Ciao @fpietrosanti,
attualmente non sono stati rilasciati o in sviluppo sistemi che possano fare al caso tuo.
Posso aiutarvi a studiare la soluzione da applicare al vostro progetto?
il progetto più vicino a quello che chiedi è https://github.com/italia/spid-django
(Secondo me l’ideale sarebbe fare un po’ di refactoring in modo da basare spid-django su una libreria spid-python più a basso livello, framework-independent, così da agevolare chi usa altri framework e limitare la duplicazione di codice.)
Un altro progetto pure-Python che abbiamo in Developers Italia è https://github.com/italia/spid-sp-sapspid ma ha un’architettura più ingombrante e non mi sembra quello che cerchi.
E’ troppo oneroso modificare quello su spid-django, l’ideale è proprio creare un oggetto più a basso livello e sono daccordissimo con te, che faccia al caso loro visto l’utilizzo di Python Twisted. Adesso c’è anche il problema di pysaml2 (https://twitter.com/AlecMuffett/status/950699975767482370). Comunque l’ottimo progetto di Hermes potrebbe essere un’ottima scusa per avviare uno sviluppo…
Ciao @fpietrosanti,
visto che supporta OAuth potete approfondire se OpenID Connect sarebbe supportabile e comunque a naso penso sia, a questo punto, meglio aspettare che rilascio la modalità di implementazione SPID con OpenID Connect di cui sto discutendo sul tavolo tecnico.
Nella ipotesi-scenario che SPID fosse “fruibile” anche tramite protocollo OpenID Connect, qualunque applicazione OpenID-Connect-enabled, con 2 configurazioni, sarebbe già SPID compliant?
Si, comunque da veloce ricerca, direi che sarebbe fattibile / più facile da implementare!
Ciao @fpietrosanti,
non so se una soluzione già openid-connect-enabled sarà compliant perchè su openidConnect c’è comunque un profilo da applicare però sicuramente sarà passi avanti in confronto ad una soluzione da svilupparsi completamente.
A questo punto sarebbe meraviglioso se qualcuno volesse-potesse implementare nel framework di autenticazione di Twisted SPID con PySAML2
Ci vorrebbe qualche open-tenders per implementare in tutti i framework principali il supporto SPID in modo che sia solo da attivare-configurare nella integrazione applicativa!
Sto introducendomi in SPID con django e pySAML2. Con l’aiuto di spid-testenv2 ho realizzato una risorsa metadata conforme alle specifiche tecniche di SPID. Questa la trovi di seguito, tengo inoltre a precisare che questi esempi sono per l’appunto dei semplici esempi, il codice vuole essere il più orizzontale e semplice da leggere ed interpretare.
E inoltre l’authnRequest che ho praticamente costruito a mano. Penso che questo possa essere codice utile per capire come integrare a basso livello pySAML2. Questo codice lo trovi qui:
In merito alle patch e ad alcuni aspetti di quanto ho scritto, rimando alle issue riguardanti alcuni dubbi sulla adesione di SPID agli standard OASIS. Queste le trovi qui: