SSO
Contents
Single sign-on
L'esigenza è quella di realizzare un sistema per il controllo degli accessi in grado di consentire, a tutti gli utenti afferenti a RITMARE, l'utilizzo di un unico profilo per accedere a tutti i servizi web che compongono l'infrastruttura interoperabile.
OpenID
OpenID sembra essere tra le soluzioni più interessanti utilizzabili per implementare un sistema di autenticazioni SSO. In particolare, sembra adattarsi bene all'approccio linked data/FOAF adottato per la rappresentazione del profilo dei Ricercatori/Utenti afferenti.
- Intro Wikipedia: http://en.wikipedia.org/wiki/OpenID
- Esempio di Service Provider implementato dall'infrastruttura Creative Commons: https://creativecommons.net/h/openid/
Infrastruttura RITMARE é OpenID
- OpenID provider OD, dove ogni utente può gestire il proprio profilo e l'amministratore centrale può associare il profilo a differenti ruoli/permessi.
- Il nodo centrale e i nodi GeoSK possono autenticare l'utente utilizzando l'OpenID provider.
- Gli amministratori dei singoli nodi periferici possono continuare a gestire gli utenti locali. Questo per consentire l'accesso a singole risorse e/o funzionalità anche a utenti esterni a RITMARE.
Possibili implementazioni
Client
- Django Social Auth: tra quelle disponibili per Django è quella più matura con una comunità molto attiva
- Codice https://github.com/omab/django-social-auth
- Documentazione http://django-social-auth.readthedocs.org/
- Il progetto è stato riversato nel nuovo progetto Python Social Auth https://github.com/omab/python-social-auth
Server (OpenID provider)
- OpenAM http://openam.forgerock.org/ : strumento completo ma forse un po' troppo complesso perché, oltre allo standard OpenAM, implementa numerosi altri sistemi di autenticazione federata.
- TODO [ricerca da completare]