Quando si crea un webservice / api che deve essere utilizzato dai client javascript / flash / mobile, si tratta di un buon metodo per assicurarsi che le credenziali di un cliente pagante non vengano rubate e riutilizzate.
Per chiarire ulteriormente, diciamo che voglio addebitare $ 1 per ogni 10.000 richieste contro la mia API. Se qualcuno vuole coltivare i miei dati gratuitamente, dovrebbe solo trovare un'altra app client che già utilizza la mia API e costruire richieste utilizzando le credenziali del cliente pagante.
Non vedo alcun modo per "nascondere" ciò che sta accadendo al cliente, qualcuno sarà sempre in grado di decodificare facilmente lo schema "auth". Quindi quali sono i modi migliori per mitigare gli abusi?
Modifica
Esempio più dettagliato dello scenario ...
Diciamo che il mio servizio dati è il programma di autobus. Lo scopo dei servizi è che gli sviluppatori scrivano app che consumano i dati. Non c'è nulla di personale nei dati, è uguale per tutti. L'intenzione è che lo sviluppatore scriva le app javascript / flash / mobile direttamente contro l'api (sono a conoscenza delle restrizioni del dominio incrociato). Ma lo sviluppatore deve pagare quando gli utenti della sua app fanno richieste contro l'API del programma di bus. Come posso mantenere un altro sviluppatore andando sul sito dello sviluppatore originale e semplicemente sollevando le credenziali utilizzate dal suo browser per parlare con l'API del programma di bus e scrivere la sua app usando quelle credenziali?