Token API

Un token API consente a un software di terze parti di chiamare i punti di accesso API di Omniscol per conto della scuola, in lettura e, se sono selezionati punti di accesso API di scrittura, in scrittura.

È potente — quindi da maneggiare con cautela.

Generazione

Un token viene generato in Condivisione (Importare/Esportare > Condivisione). Occorre fornire:

  • una chiave (generata in Omniscol, con etichetta e scadenza eventuale; la sua data di scadenza può essere modificata in seguito),
  • un ambito: la lista dei punti di accesso API che questo token potrà chiamare (concedere solo ciò che è strettamente necessario),
  • eventualmente una scadenza del token. Questa data è iscritta nel JWT generato e non può essere modificata in seguito.

Eliminare la chiave, o raggiungerne la scadenza, revoca immediatamente i token derivati. Per cambiare la scadenza di un singolo token, generare un nuovo JWT.

Utilizzo

Il token si trasmette nell'intestazione HTTP Authorization: Bearer <token>, oppure (meno consigliato per la produzione) nell'URL tramite ?auth=<token>.

Buone pratiche

  • Una chiave per integrazione — facilita la revoca indipendente.
  • Ambito minimo — selezionare solo le API necessarie, non tutto per impostazione predefinita.
  • Scadenza al livello giusto — usare la scadenza della chiave per gestire un'integrazione nel tempo; usare la scadenza del token per un accesso temporaneo non modificabile.
  • Rotazione periodica — rigenerare la chiave ogni 6-12 mesi.
  • Non in Git — il token non deve finire versionato in un repository pubblico. Usare le variabili d'ambiente del proprio server.

Differenza con OIDC / SSO

Per connettere utenti reali con la loro identità istituzionale, usare OIDC / SSO. Il token API è destinato alle integrazioni tecniche da server a server, non alla connessione quotidiana degli utenti.

See also