2010-03-18 4 views
9

Devo integrare Sign-in-con Twitter nella mia app come di seguito. https://dev.twitter.com/docs/auth/sign-twitter Si navigatore un'applicazione basata sviluppato in JavaScript ho riferisco script di Google Code Java OAuth, ma im confuso come utilizzare OAuth/autenticare e come ottenere l'oauth_tokenJavaScript OAuth accedi con Twitter

Può uno ti prego di aiutarmi con qualche campioni ?

+0

Hai visto documentazione relativa al lavoro con oauth_token sul sito twitter? http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-oauth-request_token – uthark

risposta

1

Usa sottostante Codice in consumer.js e selezionare esempio provider nel index.html a discesa

consumer.example = 
{ consumerKey : "your_app_key" 
, consumerSecret: "your_app_secret" 
, serviceProvider: 
    { signatureMethod  : "HMAC-SHA1" 
    , requestTokenURL  : "https://twitter.com/oauth/request_token" 
    , userAuthorizationURL: "https://twitter.com/oauth/authorize" 
    , accessTokenURL  : "https://twitter.com/oauth/access_token" 
    , echoURL    : "http://localhost/oauth-provider/echo" 
    } 
}; 
15

problema di questo è che chiunque vede la tua pagina può anche ora visualizzare la chiave e il segreto che deve essere tenuto privato

Ora, qualcuno potrebbe scrivere un'app che utilizza le credenziali della tua app e fare cose cattive e cattive al punto che Twitter e gli utenti ti vietano, e non c'è nulla che tu possa fare.

Twitter fanno stato che ogni sforzo possibile deve essere fatto per mantenere questi valori private per evitare che ciò accada

Purtroppo, non esiste attualmente alcun modo per utilizzare OAuth nel browser basato saldamente JavaScript.

+1

Questo è stato confermato dal mio amico che lavora su Twitter. Può essere fatto, ma è malvisto ... apparentemente. – Fiid

+0

@Dan Posso avere un modo insicuro di Twitter OAuth –

2

Scopri i Twitter @Anywhere JSDK authComplete e signOut eventi e callback a https://dev.twitter.com/docs/anywhere/welcome#login-signup

twttr.anywhere(function (T) { 

    T.bind("authComplete", function (e, user) { 
     // triggered when auth completed successfully 
    }); 

    T.bind("signOut", function (e) { 
     // triggered when user logs out 
    }); 

}); 
+2

Potench, l'ho fatto e ho funzionato molto bene tre mesi fa, ma so che Twitter è [sunsetting Anywhere] (https://dev.twitter.com/blog/sunsetting -qualunque) e questa fantastica API javascript non sarà più disponibile. Ho letto la nuova documentazione e vedo che non esiste alcuna API Javascript amichevole e l'unica informazione che ho trovato è [fai da te] (https://dev.twitter.com/docs/auth/implementing-sign-twitter). Sai quale sarebbe il modo di farlo ora che Anywhere sarà deprecato? Grazie! – fernaramburu

+0

Grazie a @fernaramburu per aver portato questo alla mia attenzione! Ci sto pensando - difficile da dire al momento, poiché sembra che tu debba implementare la tua soluzione (back-end e front-end) per fornire eventi come "authComplete" e "signOut". Tornerò da te ... – potench

0

Dal momento che stavo cercando la stessa cosa, cercando di non utilizzare una soluzione PHP personalizzato, mi sono imbattuto in questo molto semplice l'integrazione a http://www.fullondesign.co.uk/coding/2516-how-use-twitter-oauth-1-1-javascriptjquery.htm che utilizza un proxy PHP che accetta qualunque Twitter API chiamata vuoi per recuperare dal vostro javascript ..

sto sicuramente dare un'occhiata a esso

+0

Ciao, ho anche pensato a un proxy per nascondere i segreti. Hai provato questa soluzione? Funziona ancora con le attuali API di Twitter? Ha dei limiti? –