2010-10-14 1 views
13

Возможно ли иметь клиентское приложение, которое может аутентифицироваться с помощью Facebook, но без необходимости использования браузера (я имею в виду не встроенный браузер в коде)? Пользователь вводит имя пользователя/пароль и разрешает доступ к приложению только с помощью клиентского приложения.Возможно ли создать настольное приложение с использованием аутентификации facebook oauth 2.0 без необходимости взаимодействия с браузером?

Любые предложения будут очень полезны.

Спасибо, Тара Сингх

Edit: Я создал приложение в Python, который требует взаимодействия браузера. Теперь я хочу избавиться от этого и сделать это только с помощью моего клиентского приложения. Любые ссылки/учебники ??

Еще раз спасибо

ответ

8

Собственно ответ абсолютно нет.

Чтобы авторизовать свое приложение, пользователь должен ввести свое имя пользователя facebook и пароль facebook на сайте facebook, и для этого вам нужен веб-браузер. Невозможно пропустить этот шаг (вы не можете спросить, как его имя пользователя и пароль, а затем автоматически его заменить для токена доступа). Вы можете узнать больше об этом here.

+8

Зачем вам нужен веб-браузер для этого? Почему я не могу создать приложение, которое ведет себя точно так же, как веб-браузер, в отношении кодов POST/GET и ответов, а не для реализации пользовательского интерфейса? Веб-браузер не волшебный, это программа, как и любая другая. Пользовательский интерфейс не имеет значения. Внедрите правильные протоколы, не создавайте пользовательский интерфейс и, насколько известно любому веб-сайту, это браузер. – KevinDTimm

+1

@KevinDTimm Итак, тогда ваш ответ - это можно сделать без браузера, только вам нужно реализовать свой собственный браузер :) Конечно, это возможно в таком случае. Кроме того, если вы заботитесь о юридических проблемах, то против пользователей facebook обращаться к пользователям за своими паролями на facebook. – serg

+3

Нет, не ваш собственный браузер - даже не близко, думаю - wget. И что касается TOS - это проблема разработчиков, я ответил только на то, что можно было сделать технически. Я не знаю, что такое их TOS (и это не было частью вопроса) – KevinDTimm

1

абсолютно да, но мы должны знать, какой язык программирования вы хотите использовать, прежде чем мы можем дать много советов.

Например, можно с помощью HttpClient для Java и Python, чтобы инкапсулировать все функции, необходимые, другие могут звонить в с библиотеками, которые они используют для C, C++, Perl и т.д.

[править]
найдите httpclient и как он используется с python. если вы запустили wirehark в своей системе, вы сможете наблюдать за обмен данными (если вы полностью не понимаете протокол http), а затем реализуете это в своем коде.
[/ edit]

+0

Я хочу использовать Python. Я попытался создать его, но я вызываю браузер, и теперь хочу изменить его, чтобы устранить это. Могу ли я указать на любой учебник/ссылку. –

+0

учебник или ссылка, нет. см. мое редактирование выше для большего. – KevinDTimm

+0

Несомненно, спасибо за ваши предложения. –

13

Я знаю, что это старый вопрос, и он ответил, но я подумал, что «лошадиный рот GET». От Facebook: https://developers.facebook.com/docs/authentication/ ...

Наша OAuth 2.0 реализация не включает явную поддержку настольных приложений. Однако, если ваш рабочий стол приложение может вставлять веб-браузер (большинство рамок настольных , таких как .NET, AIR и поддержка Cocoa вложения браузеров), вы можете использовать поток на стороне клиента с одной модификации: специфический redirect_uri. Вместо того, чтобы требовать настольных приложений для хоста веб-сервера и заполнить URL сайта в Developer App, мы предоставить конкретный URL можно использовать с настольными приложениями: https://www.facebook.com/connect/login_success.html ... [продолжение]

0

Видимо, теперь вы можете, если вы бета-тестер для их новейшей функции: https://developers.facebook.com/docs/authentication/devices/ Напоминает значение PIN-кода на Wi-Fi

+0

Он по-прежнему требует, чтобы пользователь вводил материал в браузере –

0

Да и нет,

Я имел ту же проблему с моим сервером. Это была только консоль, поэтому я должен был сделать решение. Сначала я вошел в систему, используя веб-браузер lobo java. Я передал файлы cookie лобо на мой сервер.

Смежные вопросы