2010-10-14 4 views
13

E 'possibile avere un'app client che può autenticarsi usando Facebook ma senza richiedere il browser (voglio dire nessun browser incorporato nel codice) ?? L'utente inserisce il nome utente/password e consente l'accesso all'app utilizzando solo l'app client.È possibile creare un'app desktop utilizzando l'autenticazione Facebook oauth 2.0 senza richiedere l'interazione del browser?

Qualsiasi suggerimento sarà di grande aiuto.

Grazie, Tara Singh

Edit: mi hanno creato un'applicazione in Python, che richiede l'interazione del browser. Ora voglio sbarazzarmene e farlo usando solo la mia app client. Eventuali collegamenti/esercitazioni ??

Grazie ancora

risposta

8

In realtà la risposta non è assolutamente.

Per autorizzare la tua app un utente deve inserire il nome utente e la password di facebook sul sito di facebook e per questo è necessario un browser web. Non c'è modo di saltare questo passaggio (non è possibile chiedere quale sia il loro nome utente e password e quindi scambiarlo automaticamente per il token di accesso). Puoi leggere ulteriori informazioni su questo here.

+8

Perché è necessario un browser Web per farlo? Perché non riesco a creare un'app che si comporti esattamente come un browser Web per quanto riguarda i codici POST/GET e di risposta e non implementare un'interfaccia utente? Un browser web non è magico, è un programma come un altro. L'interfaccia utente è irrilevante. Incorpora i protocolli corretti, implementa l'interfaccia utente e, per quanto ne sa qualsiasi sito, è un browser. – KevinDTimm

+1

@KevinDTimm Quindi la tua risposta è - è possibile farlo senza un browser, solo tu hai bisogno di implementare il tuo browser :) Certo, è possibile in tal caso. Inoltre se ti preoccupi dei problemi legali è contro Facebook e chiedi agli utenti la loro password di Facebook. – serg

+3

No, non il tuo browser - nemmeno vicino, pensa - wget. E, per quanto riguarda TOS - questo è il problema degli implementatori - ho solo risposto a ciò che era possibile fare tecnicamente. Non ho idea di cosa siano i loro TOS (e non era parte della domanda) – KevinDTimm

1

assolutamente sì, ma, abbiamo bisogno di sapere quale linguaggio di programmazione che si desidera utilizzare prima di poter dare molti consigli.

Ad esempio, è possibile utilizzare HttpClient per Java e Python per incapsulare tutte le funzionalità necessarie, gli altri possono carillon con le librerie che usano per C, C++, Perl, ecc

[modifica]
cerca httpclient e come è usato con python. se esegui wireshark sul tuo sistema, sarai in grado di osservare lo scambio di dati (se non comprendi completamente il protocollo http) e poi implementarlo nel tuo codice.
[/ edit]

+0

Voglio usare Python. Ho provato a crearne uno, ma sto invocando il browser e ora voglio modificarlo per eliminarlo. Puoi indicarmi qualsiasi tutorial/link. –

+0

tutorial o collegamento, n. vedere la mia modifica sopra per ulteriori informazioni. – KevinDTimm

+0

Certo, grazie per i tuoi suggerimenti. –

13

So che questa è una vecchia domanda e ha risposto, ma ho pensato 'bocca di cavallo OTTENERE'. Da Facebook: https://developers.facebook.com/docs/authentication/ ...

nostro OAuth 2.0 implementazione non comprende esplicito supporto desktop app. Tuttavia, se la vostra applicazione desktop può incorporare un browser web (maggior parte dei quadri del desktop come .NET, AIR e il supporto di cacao browser Embedding), è possibile utilizzare il flusso lato client con un modifica: un redirect_uri specifica. Anziché richiedere applicazioni desktop per ospitare un server web e popolare la URL del sito nella Developer App, abbiamo forniamo un URL specifico è possibile utilizzare con le applicazioni desktop: https://www.facebook.com/connect/login_success.html ... [continua]

0

Sì e no,

ho ha avuto lo stesso problema con il mio server. Era solo console, quindi ho dovuto fare una soluzione. Per prima cosa ho effettuato l'accesso usando il browser webo lobo. Ho trasferito i cookie di lobo sul mio server.

Problemi correlati