Внеполосная аутентификация OAuth с Facebook - PullRequest
2 голосов
/ 29 сентября 2011

TL; версия DR:

Можете ли вы пройти проверку подлинности с помощью Facebook без URL-адреса обратного вызова для веб-приложения, поскольку веб-приложение на сервере фактически не работает.

Полное объяснение:

Я работаю над созданием приложения на платформе подключенного телевидения, где само «приложение» представляет собой набор HTML / JS / CSS, работающий локально (например, «Файл» -> «Открыть» в вашем браузере на рабочем столе), и я бы хотел интегрировать Facebook это.

Проблема заключается в том, что все OAuth-вызовы Facebook для Интернета требуют, чтобы у вас был URL обратного вызова для перенаправления пользователя для завершения аутентификации. Вот что надо - нет URL для этого приложения - это локально работающая веб-страница на устройстве.

Я знаю, что это то, для чего была разработана внеполосная аутентификация, но я не могу найти какую-либо документацию о том, как использовать это (или как сделать поток OAuth без обратного вызова) с системой OAuth Facebook .

Ответы [ 3 ]

4 голосов
/ 30 сентября 2011

Вы описываете аутентификацию на рабочем столе или любую ситуацию, когда вы аутентифицируетесь в FB без сервера.URL перенаправления, который вы передаете в диалоговое окно OAuth: https://www.facebook.com/connect/login_success.html Когда браузер перенаправляет, вы можете получить токен доступа.Вы можете прочитать все об этом в документации FB, внизу в разделе Настольные приложения (https://developers.facebook.com/docs/authentication/)

). Просто перечитайте свой вопрос, и поскольку приложение запускается в браузере, вам необходимо открытьдругое окно для аутентификации и получения токена доступа от этого.

0 голосов
/ 30 сентября 2011

Я действительно не думаю, что это напрямую возможно. Если нет чего-то совершенно недокументированного, у Facebook нет механизма для отправки аутентификационных данных, кроме как путем загрузки URL-адреса. Я уверен, что это подразумевается, по крайней мере частично, как мера безопасности, функционирующая как своего рода «белый список», куда будут отправляться данные аутентификации.

Единственный способ для вас обойти это, возможно, установить URL-адрес на сервере, который мог бы ответить на перенаправление и сохранить данные аутентификации, и выполнить запрос на стороне клиента на этом сервере, чтобы получить этот сервер Это. Вид службы прокси-аутентификации, по сути. Возможно, вам придется открыть второе окно браузера с экраном авторизации Facebook, но теоретически это может сработать.

0 голосов
/ 29 сентября 2011

Если вы работаете с HTML / Javascript, используйте их Javascript SDK.Вы можете войти в систему, просто используя FB.login и получив от него токен доступа.

...