Files
cie-auth/README.md
T

26 lines
1.6 KiB
Markdown

# Visione CIE Auth Stack
Dato che non ci è stato possibile fare richiesta per una reale implementazione di CIE tramite il sito ufficiale (https://federazione.servizicie.interno.gov.it/login), abbiamo deciso di fare un fork del progetto [italia/spid-cie-oidc-django](https://github.com/italia/spid-cie-oidc-django) e riadattarlo leggermente al progetto Visione.
Tutti i commit presenti sono bug dovuti a svariate problematiche che abbiamo avut con dokploy, tool che usiamo per fare deploy automatici. Di base il funzionamento è lo stesso del progetto originale + layer di compatibilità con Visione.
## Setup rapido
1. Copia `.env.example` in `.env`.
2. Imposta domini pubblici, secret Django, `DJANGO_RP_BACKEND_EXCHANGE_URL` e `DJANGO_RP_SHARED_SECRET`.
3. Avvia tutto con `docker compose up --build -d`.
## Note
Setuppare questo progetto in locale è molto complesso, consiglio di testarlo direttamente in produzione con i vari domini impostati.
Lo script `scripts/legacy/normalize_db_urls.py` esiste solo per migrare manualmente vecchi volumi SQLite bootstrapati con URL legacy; non viene piu eseguito automaticamente a runtime.
## Dettagli
Stack:
- `federation-authority`
- `provider`
- `relying-party`
Il RP Visione usa `/visione/start` per iniziare il flow e `/visione/complete` per chiuderlo verso backend Visione.
Il replying party sarebbe dovuto essere unicamente il nostro backend ma certe feature sono molto complesse da implementare in C++,infatti non esiste una repo già pronta per questo linguaggio, per questo è stato scelto di fare un ponte tra il backend Visione e il RP Django, che si occupa di fare la parte più complessa del flow CIE.