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.
Developers
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.
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.
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.
Authorization: Bearer sk_live_9f2c4b1e8a7d3f60c5b2a1e9d8c7b6a5| Prefisso | Ambiente | Cosa consente |
|---|---|---|
sk_test_ | Sandbox | Ogni 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_ | Produzione | Operazioni reali. Gli ordini creati con questa chiave muovono denaro: non deve mai lasciare il tuo server. |
whsec_ | Entrambi | Segreto di firma dei webhook. Non viene mai usato per chiamare l'API: serve solo a verificare che ciò che ricevi provenga davvero da noi. |
Nessuna di esse è originale. Tutte vengono violate regolarmente, ed è così che le chiavi si perdono.
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.
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 condivisa da tre servizi non può essere revocata senza romperli tutti e tre. Una chiave per uso rende la revoca indolore.
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.
Due chiavi valide contemporaneamente consentono di ruotare senza finestra di indisponibilità.