Sto costruendo un'estensione web che sarà un wrapper per un'API pubblica. Al momento non ci sono livelli a pagamento per l'API, ma sto cercando di proteggere la chiave API in modo che non venga rubata e utilizzata al di fuori della mia app. Vorrei evitare di negare le mie autorizzazioni.
Al momento ho 2 idee che mi permetterebbero di fare una cosa del genere:
-
Avere la chiave API in chiaro nell'estensione web e sperare che le persone siano abbastanza brave da non rubarla usando CRX Viewer (improbabile).
-
Proxy tutte le richieste API attraverso un server web e aggiungi il lato server API key, restituendo i risultati dall'API tramite il mio proxy al client.
Sono un fan di Node.js e vorrei perseguire il numero 2. Come faccio a proteggere la mia API in Node.js in modo che le persone non possano semplicemente reindirizzare le loro richieste attraverso il mio server all'API invece che direttamente all'API con una chiave rubata?