Аутентификация на фейсбуке в переполнении стека

Я искал в Интернете уже несколько дней, но я не могу найти достойного примера. Я понимаю, что такое поток oauth2 (поправьте меня, если я ошибаюсь):

  1. клиентская программа запрашивает у facebook запрос
  2. клиентская программа запускает браузер, давая ему адрес, содержащий client_id и request_token, и возвращает браузеру
  3. пользователь входит в систему / подписывается и принимает запрос
  4. как только фокус возвращается клиентской программе, программа отправляет ранее полученный request_token, чтобы проверить, авторизован ли он; если так, токен доступа возвращается
  5. Пока access_token действителен, клиентская программа имеет свободный доступ ко всему, что ей нужно

Это подтверждается заглушкой oauth2 и эта страница, но я не могу найти способ получить request_token в Facebook. Четное Вот Я не мог найти ничего полезного. Также было бы хорошо получить access_token или подписанный запрос, содержащий access_token.

Платформы, на которых должна работать моя программа, включают MacOSX, iOS, Win32, Linux. В настоящее время мы можем осуществлять связь http / https, и приемлемый для платформы код, такой как ShellExecute () на Win32.

1

Решение

Почему бы вам не проверить официальные документы вместо того, чтобы смотреть на документацию поставщика, который реализует OAuth 1.0?

Поскольку Facebook не реализует поток, который непосредственно соответствует вашим требованиям, следующий лучший поток для вас будет Поток аутентификации на стороне клиента.

Это в основном работает так:

  1. Откройте веб-браузер / просмотр из вашего приложения и направьте его на Facebook /dialog/oauth конечная точка с параметрами в виде строки запроса.
  2. Позвольте пользователю войти в систему и предоставить вашему приложению права доступа.
  3. Поймать access_token фрагмент перенаправления ответа в представлении браузера.

То, как вы открываете веб-браузер / представление из своего приложения и как вы ловите перенаправление, сильно зависит от используемой операционной системы / библиотек, но должно быть выполнимо с небольшим исследованием.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector