Fiatside

Developers

Autenticazione

Come l'endpoint di quotazione è protetto oggi, come verranno emesse le chiavi e le regole di gestione che evitano il classico esito: una chiave di produzione in un repository pubblico.

01

Oggi

L'endpoint di quotazione è aperto e non richiede chiave. La scelta è difendibile: una quotazione non legge né scrive dati personali e un'integrazione deve poter mostrare un prezzo prima che esista un account.

Cosa non è ancora in atto

Nessun limite di frequenza è applicato su questo endpoint oggi. Preferiamo scriverlo piuttosto che mostrare una tabella di quote che non è applicata: il giorno in cui il limite esisterà, sarà pubblicato qui con i suoi valori, i suoi header di risposta e il codice restituito quando viene superato.

02

Chiavi, una volta emesse

Una chiave porta il suo ambiente nel prefisso. Una chiave di test che funzionasse in produzione sarebbe un difetto di progettazione: rende possibile il trasferimento reale che pensavi di simulare.

Headerhttp
Authorization: Bearer sk_live_9f2c4b1e8a7d3f60c5b2a1e9d8c7b6a5
Chiavi, una volta emesse
PrefissoAmbienteCosa consente
sk_test_SandboxOgni operazione su dati simulati. Nessun movimento reale di fondi, nessuna chiamata a un istituto di pagamento. Le latenze dei circuiti sono simulate, così i tuoi test incontrano le stesse attese della produzione.
sk_live_ProduzioneOperazioni reali. Gli ordini creati con questa chiave muovono denaro: non deve mai lasciare il tuo server.
whsec_EntrambiSegreto di firma dei webhook. Non viene mai usato per chiamare l'API: serve solo a verificare che ciò che ricevi provenga davvero da noi.
03

Regole di gestione

Nessuna di esse è originale. Tutte vengono violate regolarmente, ed è così che le chiavi si perdono.

Solo lato server

Una chiave di produzione dentro un'app web o mobile è una chiave pubblica: il codice distribuito è leggibile e la minificazione non è crittografia. Chiama l'API dal tuo server.

Mai in un URL

Come parametro di query, una chiave finisce nei log dei server, negli header referrer e nella cronologia del browser. L'header Authorization esiste per questo.

Una chiave per integrazione

Una chiave condivisa da tre servizi non può essere revocata senza romperli tutti e tre. Una chiave per uso rende la revoca indolore.

Revoca immediata al minimo dubbio

Una chiave inviata per errore a un repository, anche privato, anche cancellata successivamente, è compromessa: la cronologia la conserva e i crawler leggono i repository pubblici in pochi minuti.

04

Rotazione senza tempi di inattività

Due chiavi valide contemporaneamente consentono di ruotare senza finestra di indisponibilità.

  1. 1.Emettere una seconda chiave. Entrambe sono valide allo stesso tempo.
  2. 2.Distribuire la nuova chiave sui tuoi server, uno alla volta.
  3. 3.Verificare che la nuova chiave riceva traffico e che la vecchia non ne riceva.
  4. 4.Revocare la vecchia. La revoca è immediata, senza periodo di grazia.
05

Cosa non faremo mai

  • Non ti chiederemo mai la tua chiave via email, chat o telefono. Il supporto non ne ha bisogno: lavora con l'ID della chiave, non con il segreto.
  • Non mostriamo mai una chiave segreta due volte. È visibile alla creazione, poi solo il suo ID e gli ultimi quattro caratteri.
  • Non inviamo chiavi via email. L'email attraversa e viene conservata da troppe parti.