Difference between revisions of "SSO"
(→Client) |
|||
(7 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
= Single sign-on = | = 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. | 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. | ||
+ | |||
+ | == Use cases == | ||
+ | Elenco di alcuni use cases che andrebbero supportati, da verificare e complementare: | ||
+ | |||
+ | * UC1 - Accesso semplice da istanza di Starter Kit allo stesso nodo: | ||
+ | ** L'amministratore locale del nodo ha creato a tempo debito gli account per gli utenti che dovranno accedere al nodo in lettura e/o scrittura. Due possibilità: | ||
+ | *** l'utente NON è un utente Ritmare e potrà quindi accedere al solo nodo locale (decidere se solo in lettura o se dare anche l'opzione di creare un utente non-Ritmare con diritti di modifica; | ||
+ | *** l'utente è un utente Ritmare perchè l'email associata al suo account è tra quelle dei partecipanti al progetto. Viene creao un certificato per l'utente; decidere come questo possa essere recuperato dall'utente. | ||
+ | ** L'utente accede al nodo utilizzando l'account che è stato creato per lui. | ||
+ | |||
+ | * UC2 - Accesso dal portale centrale ad una risorsa messa a disposizione da un nodo presso il quale l'utente non ha un account. | ||
+ | ... | ||
+ | |||
+ | == WebID == | ||
+ | https://dvcs.w3.org/hg/WebID/raw-file/tip/spec/identity-respec.html (pubblicata il 2 Aprile 2014) | ||
== OpenID == | == OpenID == | ||
Line 7: | Line 22: | ||
* Intro Wikipedia: http://en.wikipedia.org/wiki/OpenID | * Intro Wikipedia: http://en.wikipedia.org/wiki/OpenID | ||
* Esempio di Service Provider implementato dall'infrastruttura Creative Commons: https://creativecommons.net/h/openid/ | * Esempio di Service Provider implementato dall'infrastruttura Creative Commons: https://creativecommons.net/h/openid/ | ||
+ | * Howto per [http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtOpenIDWebIDProxyServiceGuide l'integrazione di WebID e OpenID] attraverso Virtuoso per ottenere un SSO senza username e password | ||
== Infrastruttura RITMARE é 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. | * 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. | * 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 | + | * 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 == | == Possibili implementazioni == | ||
=== Client === | === Client === | ||
* Django Social Auth: tra quelle disponibili per Django è quella più matura con una comunità molto attiva | * Django Social Auth: tra quelle disponibili per Django è quella più matura con una comunità molto attiva | ||
− | * Codice https://github.com/omab/django-social-auth | + | ** Codice https://github.com/omab/django-social-auth |
− | * Documentazione http://django-social-auth.readthedocs.org/ | + | ** 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) === | === 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. | * 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] | * TODO [ricerca da completare] |
Latest revision as of 14:41, 3 April 2014
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.
Use cases
Elenco di alcuni use cases che andrebbero supportati, da verificare e complementare:
- UC1 - Accesso semplice da istanza di Starter Kit allo stesso nodo:
- L'amministratore locale del nodo ha creato a tempo debito gli account per gli utenti che dovranno accedere al nodo in lettura e/o scrittura. Due possibilità:
- l'utente NON è un utente Ritmare e potrà quindi accedere al solo nodo locale (decidere se solo in lettura o se dare anche l'opzione di creare un utente non-Ritmare con diritti di modifica;
- l'utente è un utente Ritmare perchè l'email associata al suo account è tra quelle dei partecipanti al progetto. Viene creao un certificato per l'utente; decidere come questo possa essere recuperato dall'utente.
- L'utente accede al nodo utilizzando l'account che è stato creato per lui.
- L'amministratore locale del nodo ha creato a tempo debito gli account per gli utenti che dovranno accedere al nodo in lettura e/o scrittura. Due possibilità:
- UC2 - Accesso dal portale centrale ad una risorsa messa a disposizione da un nodo presso il quale l'utente non ha un account.
...
WebID
https://dvcs.w3.org/hg/WebID/raw-file/tip/spec/identity-respec.html (pubblicata il 2 Aprile 2014)
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/
- Howto per l'integrazione di WebID e OpenID attraverso Virtuoso per ottenere un SSO senza username e password
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]