L'unico modo davvero ragionevole, in questo momento, di fare OAuth 1 nel browser, è indirizzare le chiamate API tramite il tuo server.
Non c'è modo, per quanto ho capito, intorno a questo. Se esegui OAuth 1.0a chiamate tramite JavaScript dal browser -> Dovrai esporre il tuo segreto utente e accedere al segreto del token, almeno per l'utente finale.
Non è possibile memorizzare queste credenziali in:
- un cookie, l'utente può trovarli.
- archivio locale, l'utente può trovarli (meglio dei cookie però, dal momento che non comporta l'invio di un cookie avanti e indietro tutto il tempo via HTTP)
- in javascript, l'utente può trovarli (anche se questo è probabilmente la cosa migliore da fare perché è più facile oscurare).
Se fosse solo il token segreto di accesso che è stato esposto per l'utente finale, che sarebbe sopportabile - dal momento che è in realtà lui/lei che hanno autenticato la vostra applicazione. Ma perdere il tuo segreto di consumatore non è poi così caldo, significa che la tua domanda è idonea al furto di identità. Qualcun altro potrebbe scrivere un'app che afferma di essere la tua app.
Anche se l'hai fatto funzionare in modo sicuro nel browser, sei ostacolato da blocchi di sicurezza del dominio incrociato.
fonte
2011-12-15 21:50:45
Invece di aggiungere una nuova domanda a questa discussione, è necessario contrassegnarla come risolta e inserirne una nuova, in particolare le domande non sono COSÌ simili. La risposta alla tua domanda di follow-up è disponibile qui: [Secure OAuth in Javascript] (http://stackoverflow.com/questions/6144826/secure-oauth-in-javascript) –
Il titolo della mia domanda non è cambiato. Forse vuoi che togli la nota jsOAuth – rico
Accetta la risposta di refp già ... :) –