Skip to content

GovWay v3.1.1

Compare
Choose a tag to compare
@andreapoli andreapoli released this 06 Aug 15:39
· 1601 commits to master since this release

Miglioramenti alla funzionalità di Autorizzazione

Nella sezione 'Controllo degli Accessi' di una erogazione o fruizione sono state introdotte le seguenti modifiche.

La funzionalità di autorizzazione per Token Claims è stata estesa in modo da supportare i seguenti controlli sui valori dei claim (#44):

  • valore non nullo
  • valore corrispondente ad un'espressione regolare
  • valore atteso contenente parti dinamiche, riferite a header http, parametri della url o parti del messaggio

La funzionalità di autorizzazione basata sui contenuti è stata estesa per effettuare controlli sulle seguenti risorse:

  • header http
  • parametri o porzioni della url di invocazione
  • credenziali del chiamante (principal, username, subject ...)
  • claim presenti in un token
  • porzioni del messaggio individuate tramite espressioni xPath o jsonPath
  • valori statici

Miglioramenti alla funzionalità di Trasformazione dei Messaggi

Sono state introdotte le seguenti nuove funzionalità nella trasformazione dei contenuti tramite i template engine 'Freemarker' e 'Velocity':

  • Archivio di Template: è adesso possibile caricare, oltre al singolo file che individua il nuovo payload, anche un archivio zip contenente più template collegati tra loro tramite un file indice (index.ftl o index.vm).

  • ErrorHandler: è possibile utilizzare un oggetto 'errorHandler' che consente di generare una risposta immediata in funzione dei dati della richiesta, utile, ad esempio, nei casi in cui il template richiede dei dati prelevati dalla richiesta (dagli header http, dal messaggio, dalla url ...) e tali dati non sono disponibili.

Sono stati introdotti nuovi tipi di trasformazione (ZIP, TGZ o TAR) per supportare la trasformazione di richieste e risposte in archivi compressi.

Sono state inoltre aggiunte nuove risorse accessibili dai template:

  • TransportContext: è ora possibile accedere al contesto http della richiesta. Questa nuova risorsa permette ad
    esempio di poter ottenere l'informazione sull'identità ('principal') del richiedente.

  • Token Info: permette di accedere ai claims di un token che ha superato la validazione effettuata durante il processo di autorizzazione.

  • Request / Response: consente di accedere ai contenuti (payload o attachment) del messaggio di richiesta o di risposta.

Infine è stata aggiunta la possibilità di sospendere una regola di trasformazione.

Miglioramenti della funzionalità di estrazione dei contenuti JSON

L'estrazione dei contenuti da messaggi JSON, utilizzata nelle funzionalità di Correlazione Applicativa, Rate Limiting, Trasformazioni, Identificazione dell'azione etc. era possibile attraverso la definizione di espressioni JSONPath.

Essendo allo stato attuale, XPath più espressivo di JSONPath, è stata introdotta la possibilità di utilizzare espressioni XPath su di una rappresentazione xml dell'oggetto json in transito.

Nuova funzionaltà di esposizione dei WSDL

Aggiunta la funzionalità di esposizione dell'interfaccia WSDL di una API SOAP (#33).

È adesso possibile ottenere il file wsdl attraverso una invocazione HTTP GET, utilizzando la url di invocazione dell'API, arricchita del prefisso '?wsdl'.

!Attenzione! : nell'installazione di default la gestione delle richieste HTTP GET con prefisso '?wsdl' è disabilitata e tali richieste ottengono un errore 'HTTP 404 Not Found'. Per abilitare la funzionalità è possibile agire sulla configurazione presente nel file esterno '/etc/govway/govway_local.properties'.

Miglioramenti all'Installer

È stato aggiunto il supporto per la nuova versione dell'application server 'WildFly' 17.x

Fix minori

Sono stati risolti i seguenti bug:

  • Negoziazione Token sul Connettore: nelle token policy di tipo "Negoziazione", in presenza di un 'Authorization Header' nella richiesta originale, se questa non veniva consumata dal modulo di autenticazione, veniva
    erroneamente sovrascritto il token ottenuto dalla negoziazione.
  • Dump Binario: abilitando il debug sul connettore, la funzionalità di dump binario non registrava gli header gestiti dal connettore (Authorization, Content-Type, SOAPAction...).
  • Validazione dei Contenuti tramite OpenAPI 3: sono stati risolti i seguenti problemi:
    • non venivano validati gli elementi presenti nella richiesta o nella risposta se definiti tramite '$ref';
    • la validazione dei parametri (header, query, path) non considerava eventuali restrizioni sul tipo (es. minLength, pattern ...).
  • Gestione Header HTTP case-insensitive: gli heder non venivano gestiti completamente in maniera 'case-insensitive' come richiesto dalla specifica rfc7230#page-22. Venivano processati correttamente se dichiarati nella forma standard (es. Content-Type) o in una forma completamente minuscola o maiuscola (es. content-type). Non venivano invece riconosciuti se possedevano un nome che non rientrava nei casi precedenti (es. Content-type o Soapaction).

Sulla console di monitoraggio sono stati risolti i seguenti bug:

  • Summary 'Ultimo Anno' [#43]: risolto problema presente nel report statistico relativo all'intervallo 'Ultimo anno' visualizzato dopo il login alla console. Il report visualizzava un intervallo temporale errato dove il mese corrente invece di essere utilizzato come ultimo mese, era proposto come primo e venivano poi forniti mesi 'futuri'.

  • Dump Binario: la console non visualizzava il contenuto del dump binario se differente da xml.

  • Modifica Password: la modifica della password dell'utente non funzionava.