Qual è il modo migliore per eseguire l'autenticazione di Twitter OAuth in modo sicuro in JavaScript?Autenticazione sicura OAuth di Twitter in JavaScript/jQuery (oltre a helper lato server)
Sto provando a scrivere un programma per consentire all'utente di analizzare il suo utilizzo di Twitter e follower/amici. Ho scritto una versione lato server che funziona usando il modulo tweepy python.
Mi piacerebbe condividerlo con le persone, ma mi piacerebbe che funzionasse nel browser per essere scalabile rispetto a funzionare sul mio piccolo server.
vedo un'altra domanda dove il risultato è che non è raccomandato e non sicuro: JavaScript OAuth sign in with Twitter
che ha un senso se si mandavano la (app) segreto utente o l'accesso segreto (utente) nella app JavaScript.
Ma perché non potevo costruire l'URL sul lato server come qui - http://djangosnippets.org/snippets/1353/
quindi inviare l'URL di autenticazione al browser, qualcosa di simile dal strumento OAuth nella pagina di Twitter My Applications (non credenziali valide)
GET & https% 3A% 2F% 2Fapi.twitter.com% 2F1% 2F & ottenere% 252Faccount% 252Fverify_credentials_json% 3D% 26oauth_consumer_key% GD0bgcgMU4MDwNfKQpLFQS3% 26oauth_nonce% 3D24ad5049501dee1292afd8cf22307d68% 26oauth_signature_method% 3DHMAC-SHA1% 26oauth_timestamp% 3D1329173626 % 26oauth_token% uPUpxsBc3D283768289LtQ6R1E z1KeD8DOSsm5XpqJaKI28ysYh% 26oauth_version% 3D1.0
Quindi utilizzare jQuery per autenticarsi con le credenziali dell'utente ed eseguire l'analisi.
È un lavoro significativo, mi dispiacerebbe farlo e poi scoprire che non funziona o è un approccio non sicuro. (o è già stato fatto)
È sicuro? Non sembra esporre alcun segreto.
Funzionerà?
Eventuali puntatori/esempi sul modo corretto di eseguire l'autenticazione per un jQuery noob, con l'Autorizzazione necessaria: intestazione e elaborazione cookie/reindirizzamento?
Mi sento come se mi mancasse qualcosa e c'è una ragione per cui questo non funzionerà, o dovrebbe già esistere da qualche parte, ma non l'ho trovato. Grazie molto!
Ho pensato che il punto di divisione della chiave del consumatore e del segreto del consumatore era che tu potrebbe esporre la chiave e nessuno può fare nulla senza il segreto. Cosa potrebbe fare qualcuno con solo la chiave del consumatore, se non avevano il segreto del consumatore? –
Sì, hai ragione. Quello che stai essenzialmente proponendo è che il tuo server firmi usando il tuo segreto di consumatore, quindi passa di nuovo al client. Potresti farlo, ma non è più scalabile del semplice fatto che il tuo server effettui la richiesta per conto dell'utente. – Alan
Sì, in pratica voglio eseguire il proxy dell'autenticazione e fare in modo che il browser faccia un sacco di chiamate API. Saranno poche centinaia di chiamate, fino ai limiti di strozzatura. Inoltre impiegheranno molto tempo e legheranno le risorse mentre sono in esecuzione. Quindi preferisco davvero non farlo sul server, saranno gli ordini di grandezza più carichi. Desidera trasferire un URL o un token al browser e utilizzarlo per effettuare chiamate API con jQuery o puro JavaScript. –