Sessione
Documentazione
Documentazione integrazione GEMODO ↔ GEBAN
Questo non e' un'API GEMODO: descrive l'endpoint di discovery che il team GEBAN deve implementare ed esporre, cosi' che GEMODO possa scoprire tipologie/profili/campi senza che GEMODO ne mantenga una copia locale come sorgente di verita'.
Autenticazione Swagger
gemodo-frontend. Per chiamare le API, il token
dell'utente deve avere audience gemodo-backend e ruoli client su gemodo-backend.
/docs/geban-catalog.
Configurazione Keycloak richiesta: redirect URI del client gemodo-frontend verso
https://dev-gemodo.concorsi.cnr.it/*, web origin dello stesso dominio, audience mapper verso
gemodo-backend, e ruoli DOCUMENTI_VIEWER/DOCUMENTI_GENERATORE
assegnati all'utente sul client gemodo-backend.
Come si autentica GEBAN per davvero (non il login di questa pagina)
Il login SSO sopra serve solo a un umano che prova l'API da Swagger. L'integrazione reale GEBAN →
GEMODO usa un token emesso da ACE (stesso realm Keycloak cnr), non il login
di questa pagina.
geban-backend (client credentials, ruoli diretti su
gemodo-backend, con audience) resta un doppio di test/CI. Il flusso reale
usa un client ACE ammesso (es. geri-angular-public): il token
non contiene aud (ACE non lo valorizza) e porta solo il claim
contexts, con il ruolo GEBAN dentro contexts.geban.roles — l'utente puo' avere
anche altri contesti per altri applicativi ACE nello stesso token, GEMODO considera solo quelli che
conosce. GEMODO non usa quei ruoli direttamente: li traduce in permessi propri tramite una mappa
configurata (infra/local/integration-profiles.local.yaml).
{
"iss": "https://sso.test.si.cnr.it/auth/realms/cnr",
"azp": "geri-angular-public",
"contexts": {
"geri": { "roles": ["ROLE_ADMIN#geri"] },
"geban": { "roles": ["ROLE_COORDINATOR#geban"] }
}
}
Ruolo ACE (contexts.geban.roles) | Permesso GEMODO derivato |
|---|---|
ROLE_GESTORE#geban | DOCUMENTI_GENERATORE, DOCUMENTI_VIEWER |
ROLE_MANAGER#geban | DOCUMENTI_GENERATORE, DOCUMENTI_VIEWER, GEMODO_MODELLI_GESTORE |
ROLE_COORDINATOR#geban | DOCUMENTI_GENERATORE, DOCUMENTI_VIEWER |
ROLE_USER#geban | DOCUMENTI_GENERATORE, DOCUMENTI_VIEWER |
Riferimento completo: specs/006-sicurezza-autorizzazioni-audit/keycloak-jwt.md (decisioni
SEC-006-001/SEC-006-003).
API disponibili ora
/api/v1/builder/tipi-documento/{codice}/struttura-disponibileGEMODO_MODELLI_GESTORE
/api/v1/catalogo/modelli?tipo_documento=BANDO_CONCORSO&codice_tipologia=TD&profilo=COLLABORATORE_TECNICO_ERDOCUMENTI_VIEWER
/api/v1/catalogo/modelli/{id}/campi-richiestiRestituisce il contratto dati del modello selezionato.
DOCUMENTI_VIEWER
/api/v1/documenti/validaValida il payload GEBAN prima della generazione documentale.
DOCUMENTI_GENERATORE
/api/v1/documenti/generaSimula la generazione: valida i dati e restituisce un OK con placeholder del futuro link PDF.
DOCUMENTI_GENERATORE
Nota PDF
La generazione PDF reale non è ancora implementata nel backend attuale. L'endpoint
/api/v1/documenti/genera è uno stub di collaudo: controlla token e dati,
poi risponde con il testo che indica dove sarà restituito il link di download.