Vai al contenuto

Autenticazione

Ogni richiesta include una chiave API segreta nell’header Authorization, come bearer token. Le chiavi appartengono a un progetto della tua organizzazione, e ciascuna può fare solo ciò che i suoi ambiti consentono.

curl
curl https://api.kennmarq.com/v1/usage \
  -H "Authorization: Bearer $KENNMARQ_API_KEY"

Formato delle chiavi

Una chiave è sk_live_ o sk_test_ seguito da 43 lettere e cifre (256 bit casuali). Il prefisso indica a te, e a noi, in quale ambiente funziona. La dashboard mostra i primi caratteri e gli ultimi quattro di ogni chiave, così puoi distinguere le chiavi senza il segreto.

Tenere segrete le chiavi

  • Usa le chiavi solo dai tuoi server: mai in un browser, in un’app mobile o in un repository pubblico.
  • Conserviamo un hash SHA-256 di ogni chiave e mostriamo la chiave una sola volta, quando viene creata. Non possiamo mostrarla di nuovo.
  • Per ruotare una chiave, crea quella nuova, mettila in produzione, poi revoca quella vecchia nella dashboard. Una chiave revocata smette subito di funzionare.
  • Limita le chiavi di produzione agli indirizzi dei tuoi server con una lista di IP consentiti.
  • Ogni chiave creata, modificata o revocata compare nel registro di audit della tua organizzazione.

Chiavi negli URL

Un solo endpoint riceve la chiave nell’URL: POST /v1/tsa/{key}, perché la libreria C2PA che lo chiama non può inviare header. Un URL finisce nei log, quindi quell’endpoint accetta solo chiavi il cui unico ambito è tsa e rifiuta qualsiasi altra chiave con 403 key_not_allowed_in_url. Se succede, ruota la chiave che hai inviato.

Errori di autenticazione

Errori di autenticazione
StatoCodiceSignificato
401missing_api_keyManca l’header Authorization: Bearer ….
401invalid_api_keyLa chiave non è una delle nostre, oppure è malformata.
401api_key_revokedLa chiave è stata revocata, oppure il suo progetto è stato eliminato.
403insufficient_scopeAlla chiave manca l’ambito richiesto da questo endpoint.
403ip_not_allowedLa richiesta proviene da un indirizzo non incluso nella lista di IP consentiti della chiave.
403key_not_allowed_in_urlUna chiave con ambiti oltre a tsa è stata inviata in un URL.