Protezione del modello per lo strumento per il frontend del cliente

1

Come principiante nello sviluppo di API Web e altre tecnologie web mi chiedo quale potrebbe essere l'approccio migliore per proteggere uno strumento nel frontend di un cliente.

Diciamo che sto offrendo uno strumento che può essere utilizzato nel frontend di altri siti Web e vorremmo garantirne l'utilizzo. Quindi un cliente deve registrarsi, accedere al mio server e generare una chiave API e un segreto. Quindi il cliente implementa lo strumento nel proprio sito web. Come posso (o meglio lo strumento) verificare che il cliente abbia una chiave API valida e contare l'utilizzo dello strumento. Se la chiave non è valida o è bloccata dal mio server, lo strumento non funzionerà. La funzione interna di provare e bloccare lo strumento non è una domanda qui. La domanda è solo la verifica / autenticazione / identificazione.

L'impacchettamento della chiave API e del segreto direttamente nel codice di frontend dello strumento non è un'opzione, suppongo. Tutti potrebbero leggerlo. Quindi, qual è il modello migliore per raggiungere l'obiettivo di autenticare l'utilizzo con le credenziali dei clienti? Ci sono buone risorse o documentazione per quel problema specifico? La maggior parte di ciò che ho letto riguardava OAuth (con le credenziali dell'utente coinvolte) e le app client per desktop o dispositivi mobili (dove è più facile nascondere le credenziali del cliente).

Modifica 1:

Nel caso di Google Maps, che utilizza solo una chiave API, raccomandano diversi metodi per proteggere la chiave e l'accesso API come la limitazione degli URL e la rigenerazione periodica. Inoltre dicono che la chiave dovrebbe essere fornita da variabili d'ambiente o file al di fuori del codice sorgente.

L'obiettivo di proteggere una chiave dell'API di Google Maps sembra dipendere dalla limitazione dell'URL. Ma è davvero una buona pratica? Non è possibile "simulare" l'URL per codice javascript eseguito localmente e inviare tonnellate di richieste per aumentare il numero di utilizzo per il proprietario della chiave?

Google Maps: best practice per l'utilizzo sicuro delle chiavi API

    
posta Maas 05.03.2018 - 01:32
fonte

0 risposte

Leggi altre domande sui tag