Ho un po 'di problemi a capire come utilizzare OAuth per proteggere un'API. Così ho sviluppato un servizio RESTful, che vorrei proteggere per l'accesso autenticato. Ho prima optato per HTTP Basic + TLS, ma poi ho deciso di supportare anche OAuth. La libreria di Jersey supporta OAuth1. Dopo averlo fatto funzionare, il primo utente di quell'API sarà un'applicazione web.
Quindi ho bisogno di registrare un consumatore, per ottenere una chiave del cliente, insieme a un segreto del cliente. Ho bisogno di questi due per avviare il flusso OAuth1. Pertanto il client (applicazione web) deve averli. Ma ciò significa che ogni utente di tale webapp ora ha il segreto e la chiave del cliente, ed è in grado di impersonare me come sviluppatore e attirare l'utente in trappole di phishing. Ciò vale anche, in misura minore, per altri client, che potrebbero prima necessitare di essere smontato Ma il problema fondamentale esiste ancora.
Ma deve esserci un equivoco dalla mia parte, poiché un tale problema sarebbe stato sicuramente ostacolato dall'adozione selvaggia di esso.
Una possibilità che mi viene in mente è, come sviluppatore client, avviare OAuth solo dal lato server. È questa la soluzione o non c'è un problema simile?