Che cos’è JWT e in che modo questa tecnologia protegge i tuoi documenti

29 settembre 2022By Elena

Esistono modi per proteggere attivamente i file: crittografia, filigrane, autorizzazioni di accesso restrittive. Ma la sicurezza dei documenti non finisce qui. Leggi questo post per scoprire JWT, un importante strumento di protezione dell’accesso abilitato per impostazione predefinita in ONLYOFFICE dalla versione 7.2.

What is JWT and how this technology protects your documents

Cos’è JWT

JSON Web Token (JWT, pronunciato come /dʒɒt/) è uno standard aperto per lo scambio sicuro di informazioni online utilizzato principalmente per due scopi: l’autorizzazione e il trasferimento di dati.

Un oggetto JSON compatto contiene le informazioni di autenticazione e fornisce la possibilità di verificare gli utenti legittimi del servizio, quando applicato nelle applicazioni web. In poche parole, aiuta l’applicazione a confermare che il mittente delle informazioni è chi afferma di essere.

JWT è un oggetto autonomo sotto forma di stringa composta da tre parti: intestazione, carico utile e firma. L’intestazione contiene le informazioni sul token e su come viene generata la firma, il carico utile contiene le attestazioni sull’utente necessarie per concedere loro l’autorizzazione per l’accesso e la firma convalida l’utente.

Il token può essere firmato con una chiave segreta che aiuta a convalidare l’origine dei dati trasferiti.

Come ONLYOFFICE utilizza i token di sicurezza

In ONLYOFFICE, JWT protegge il flusso di dati tra l’editor e l’utente. Consente di verificare gli utenti che accedono alle sessioni di modifica in Docs e tentano di eseguire determinate azioni nei documenti.

Per ogni richiesta HTTP da e verso ONLYOFFICE Document Server, viene generato un token che viene aggiunto ai parametri.

Qui, vengono generati diversi JWT per diverse azioni dell’utente. Mentre i token sono firmati con lo stesso segreto in ogni caso, le informazioni che aiutano ad autorizzare l’input differiscono. Ad esempio, viene creato un token separato per l’apertura dell’editor, per l’inserimento di un’immagine nel file, per l’apertura della cronologia delle versioni del documento, ecc.

Ad esempio, per aggiungere un’immagine PNG al file tenuto su www.example.com, i seguenti parametri saranno inclusi nel token:

{
"fileType": "png",
"url": "https://example.com/url-to-example-image.png"
}

Ed ecco come sarebbe un esempio di token:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmaWxlVHlwZSI6InBuZyIsInVybCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vdXJsLXRvLWV4YW1wbGUtaW1hZ2UucG5nIn0.FXuC3GUvPq3japwyzo4i-utUe3g1rfSDt1ytuK_VyCc

Per firmare con il JWT, viene utilizzato un segreto personalizzato in ogni servizio di condivisione in cui ONLYOFFICE Docs è integrato.

Dove ritrovare la chiave segreta

Nelle versioni precedenti di ONLYOFFICE Docs, non c’era alcun segreto JWT incluso per impostazione predefinita. Esso doveva essere generato da un amministratore del servizio host (cioè Nextcloud) e inviato a ONLYOFFICE Document Server manualmente tramite le impostazioni.

A partire dalla versione 7.2, JWT è abilitato per impostazione predefinita. Quando ONLYOFFICE Docs viene installato e avviato, viene generato automaticamente un segreto casuale che deve solo essere aggiunto sul lato dell’applicazione host.

Nota: se stai già utilizzando ONLYOFFICE Docs con JWT, la chiave originale rimarrà nella tua configurazione. L’eccezione è l’installazione Docker: se nel Document Server installato le variabili env non sono impostate o i parametri JWT non sono definiti, dopo l’aggiornamento verrà generato un segreto casuale.

Installazione server Linux e Windows

Puoi ottenere il segreto JWT predefinito dal file local.json file utilizzando il seguente percorso:

Per Linux: /etc/onlyoffice/documentserver/local.json

Per Windows: %ProgramFiles%\ONLYOFFICE\DocumentServer\config\local.json

Puoi trovare il segreto nel parametro services.CoAuthoring.secret.browser.string.

Installazione Docker

Se ONLYOFFICE Docs è installato utilizzando Docker, esegui il seguente script per ottenere il segreto:

sudo docker exec f00ad6e66a40 /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'

Per sostituire il segreto predefinito con una chiave personalizzata, leggi la documentazione.

Le istruzioni individuali per ciascun metodo di installazione saranno disponibili anche nella pagina iniziale di ONLYOFFICE Docs dopo l’installazione.

Dove è disponibile JWT?

JWT è supportato in quasi tutte le app di integrazione ONLYOFFICE ufficiali:

  • Nextcloud
  • ownCloud
  • Alfresco
  • Moodle
  • Mattermost
  • Chamilo
  • HumHub
  • Confluence
  • Plone
  • Strapi
  • Liferay
  • Jira
  • Nuxeo
  • Redmine

È possibile sfogliare tutte le integrazioni disponibili sul nostro sito e trovare le guide alla configurazione dei token nelle pagine GitHub.

Se desideri creare un’app di integrazione ONLYOFFICE per la tua app, è possibile aggiungere il supporto per i token di sicurezza utilizzando le nostre guideline API.