Strumenti Utente

Strumenti Sito


apireference:formati_e_protocolli

Sommario

Formati e Protocolli

L'interfaccia impiegherà diversi protocolli standard per la comunicazione, in particolare:

  • ogni comunicazione di produzione avverrà attraverso canale confidenziale e autenticato tipo https o http2 (h2)
  • i messaggi saranno codificati in JSON (RFC8259, JSON)
  • l'autenticazione sarà gestita tramite OAUTH 2.0 (RFC6749, The OAuth 2.0 Authorization Framework) rispettivamente:
    • per le UI tramite grant Authorization Code con PKCE (RFC7636, PKCE for OAuth Public Clients)
    • per gli altri attori tramite grant Client Credentials
    • per entrambi: tramite grant Refresh Token per il rinnovo
    • nelle prossime revisioni della presente questi grant potranno essere sostituiti da altri grant relativi al protocollo stesso, sulla base delle features che si andranno ad aggiungere all'architettura, tipo: Provider di autenticazione esterni, distribuzione di una catena di certificati
  • ogni microservizio potrà inoltre fornire altre api che consentano comunicazioni in protocolli differenti, o con differenti meccanismi di autenticazione, ma resteranno delle “specificità” (ad esempio: un sistema di upload di chunk di blob, obbligare il client a codificarli in json potrebbe impattare le performance)
  • dove non diversamente specificato ogni campo null (o undefined) potrà (e dovrebbe) non essere trasmesso
  • Di seguito si considererà:
    • ogni url, o header http come codificato in USASCII (RFC7230, HTTP Encoding)
    • ogni messaggio json come codificato in UTF-8 (ogni uso dell'utf-8 è considerato senza BOM) (UTF Draft)
    • ogni codice verrà considerato come mappatura in UTF-8 di un nome in latin1 (ISO 8859-1) preso dal seguente sottoinsieme: [abcdefghijklmnopqrstuvwxyz0123456789_] con, in aggiunta, le seguenti limitazioni:
    • non potrà iniziare con i caratteri [0123456789_]
    • non potrà essere equivalente a una parola riservata di quelle indicate in questo documento
    • non potrà superare i 50 caratteri
apireference/formati_e_protocolli.txt · Ultima modifica: 2024/04/11 09:55 da marcomerlino