Come proteggere una chiave API dal lato client?

0

Ho un problema e sono abbastanza sicuro di non essere il primo a riguardo. Spero di avere alcuni ottimi modi, si spera a prova di proiettile, per evitare problemi, quindi eccolo qui.

Fornisco un'API che converte HTML in PDF tramite una richiesta POST. Quando il mio cliente effettua la conversione, fornisce una chiave API per autenticarli. Fin qui tutto bene.

Sto pensando di offrire un modo per consentire a quei clienti di effettuare la conversione direttamente dal browser del loro client, in Javascript.

Ora, questo è possibile facendo una richiesta XHR POST di Javascript inclusa la chiave API, ma il grosso problema di sicurezza qui è che la loro chiave API è esposta al pubblico e quindi può essere abusata.

La mia domanda è semplice:

How can I offer the possibility to convert documents directly within the browser without compromising their account through the API key?

La mia migliore idea è quella di consentire al mio cliente di creare più API Key e di avere statistiche sul numero di conversioni effettuate da quella chiave. Inoltre, potrebbero indicare quale dominio funziona per quella chiave, limitando l'utilizzo a uno specifico (insieme di) domini.

Ma so che questo non è a prova di proiettile dato che ogni codificatore può falsificare il valore di "host" su una richiesta e ignorare questa "sicurezza".

Come posso aumentare la sicurezza offrendo al tempo stesso la capacità di frontend?

Grazie per il tuo aiuto!

    
posta Cyril N. 07.09.2018 - 12:02
fonte

0 risposte

Leggi altre domande sui tag