Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/italia/spid-ansible-shibboleth-example
Service provider di base con autenticazione SPID
https://github.com/italia/spid-ansible-shibboleth-example
ansible docker playbook shibboleth-sp
Last synced: 2 months ago
JSON representation
Service provider di base con autenticazione SPID
- Host: GitHub
- URL: https://github.com/italia/spid-ansible-shibboleth-example
- Owner: italia
- License: mit
- Created: 2017-03-27T06:29:40.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2021-04-04T14:46:59.000Z (almost 4 years ago)
- Last Synced: 2024-08-03T02:03:18.655Z (5 months ago)
- Topics: ansible, docker, playbook, shibboleth-sp
- Language: HTML
- Size: 43.9 KB
- Stars: 23
- Watchers: 7
- Forks: 13
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- .github - spid-ansible-shibboleth-example
README
# Applicazione con autenticazione SPID
Questo playbook Ansible implementa un esempio di applicazione nodejs che serve i propri contenuti in HTTPS e permette di proteggere una parte dell'applicazione tramite autenticazione SPID.
## Architettura
### Layer architetturali
L'architettura è basata su container Docker ed implementa tre layer applicativi:
* Layer HTTPS basato su NGINX e Letsencrypt
* Layer autenticazione SPID basato su NGINX (Openresty) e Shibboleth
* Layer applicativo (in questo esempio Nodejs ed Express)Il layer applicativo, essendo un backend del layer di autenticazione, può essere implementato con qualsiasi tecnologia o framework e può anche risiedere su un host diverso da quello su cui risiedono i layer HTTPS e di autenticazione.
### Autenticazione
Il layer di autenticazione passa le informazioni di autenticazione al layer applicativo attraverso un set di header HTTP, presenti nel caso la sessione sia stata autenticata.
La gestione delle sessioni di autenticazione è delegata a Shibboleth e nell'esempio attuale é basata sullo [StorageService di default](https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPStorageService) che mantiene la cache delle sessioni in memoria. Questo comporta la perdita delle sessioni di autenticazione in caso di riavvio del container Shibboleth.
Modificando la configurazione di default è possibile implementare uno storage persistente tramite database ODBC o Memcache.
## Configurazione
Per la configurazione si faccia riferimento dal playbook `site.yml`.
## Esecuzione del playbook
```
$ ansible-playbook -i "$SERVER_HOST," site.yml
```Dove `$SERVER_HOST` è l'host (raggiungibile via SSH) su cui eseguire il processo di configurazione.
__Nota__: attualmente il playbook assume che l'host utilizzi `apt` come sistema di gestione dei pacchetti.