Popolare un form con dati provenienti da API
Last updated
Was this helpful?
Last updated
Was this helpful?
Per utilizzare endpoint API esterni è necessario fare inizialmente riferimento a OpenCity Italia, in modo tale da sbloccare il CPS (Content Security Policy) nel caso in cui l'Ente intenda utilizzare sia .
Come admin puoi configurare alcuni campi (es. o ) in modo tale che vengano compilati con dati presi dalle API.
Nella sezione "Data" del componente, configura la voce "Data source type" con l'opzione URL
Successivamente inserisci l'endpoin API da utilizzare alla voce "Data source url"
Alla voce "Storage type" indica il dato da riportare nella select (è consigliabile usare l'opzione "autotype", in modo da predere tutto l'oggetto restituito dall'API)
Infine, scegli il valore da mostrare alla voce "Item template".
È consigliabile compilare anche il campo "Limit" e indicare un numero massimo di item da visualizzare.
Più alto è il valore indicato più tempo la select ci metterà a caricare gli item; è quindi consigliabile indicare un massimo di 50
Nella sezione "Data" del componente, compila la voce "Calculated value" con un codice Json contentente l'URL API:
Qui trovi un codice di esempio in cui vengono richiamati i dati di un'utenza TARI basandoci sul codice fiscale del richiedente
Per popolare un form, puoi utilizzare API non protette da autenticazione.
In questo caso, oltre allo sblocco di CSP da parte di OpenCity Italia, è necessario che le API utilizzate siano pubbliche e raggiungibili.
Dataset e micro servizi esterni alla piattaforma possono essere facilmente integrati tramite il flusso di autenticazione basato su JWT (JSON Web Token) e JWKS (JSON Web Key Set)
Questo flusso di autenticazione prevede alcuni passaggi chiave e interazioni tra:
client (browser dell'utente)
area personale
micro servizio esterno
Di seguito il processo punto per punto:
Il client invia una richiesta all'area personale per ottenere un JWT, spesso includendo le credenziali dell'utente o altre forme di autorizzazione.
Questa operazione può essere effettuata facendo una chiamata alle API:
oppure come utente non autenticato effettuando una chiamata POST alle API
L'area personale autentica il client, genera un JWT e lo firma con una chiave privata.
Il token viene quindi restituito al client.
Il client invia una richiesta al micro servizio esterno per accedere a una risorsa protetta, includendo il JWT nell'intestazione Authorization.
Per verificare la validità del token il micro servizio esterno deve:
Estrarre il JWT dalla richiesta
Recuperare il JWKS dall'area personale, il JWKS contiene le chiavi pubbliche necessarie per verificare la firma del JWT.
Verificare la firma del JWT e convalidare le sue richieste
In base alla validità del JWT il micro servizio esterno concede o nega l'accesso alla risorsa richiesta.
Oltre alla validità del token si possono verificare le affermazioni in esso contenute.
Il payload del token prodotto dall'area personale presenta delle informazioni utili a capire se quello specifico utente oltre ad avere un token valido ha i permessi per ottenere la risorsa richiesta.
Di seguito un esempio di payload del token
Come descritto nella sezione è possibile per un utente autenticato richiedere un token di autenticazione per la propria sessione.