Процедура OAuth Callback для мобильных устройств - PullRequest
4 голосов
/ 23 января 2010

Я разрабатываю приложение Netflix для мобильных устройств BlackBerry. В настоящее время я работаю над OAuth. Я нахожусь в точке, где я могу сгенерировать страницу входа Netflix в поле встроенного браузера в моем приложении.

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

Мой вопрос: как мне это сделать на мобильном устройстве? Есть ли процедура, установленная на месте? Я не уверен, как я могу извлечь авторизованный токен из URL обратного вызова и отправить его обратно в мое приложение. Из моего исследования не видно, что Netflix предоставит ПИН / верификатор для пользователя, чтобы затем ввести в приложение ...

У кого-нибудь есть идеи?

Спасибо ...

Ответы [ 3 ]

4 голосов
/ 23 января 2010

Существует два способа обработки обратных вызовов на мобильных устройствах.Первый - установить значение oauth_callback в «oob».Это делается, если ваше устройство не может принимать обратные вызовы.См. Спецификацию OAuth, раздел 2.1:

Временные учетные данные

Использование 'oob' должно привести к тому, что сервер (Netflix) отобразит код подтверждения, который пользователь затем вводит вваше приложение для авторизации токена запроса.

Второй способ, если ваше устройство поддерживает его, - это использовать собственную схему URI.Я знаю, что на iPhone вы можете зарегистрировать обратный вызов с помощью пользовательской схемы, назначенной вашему приложению.Есть ли способ сделать это на BlackBerry?Если это так, я бы использовал этот подход, поскольку он намного лучше для пользователя.

2 голосов
/ 05 июня 2010

Вместо того, чтобы встраивать поле браузера, вам может быть лучше создать цельный (то есть без браузера) пользовательский опыт, просто позволяя мобильному приложению выполнять все необходимые рукопожатия с помощью netflix. Вам нужно будет настроить сервер публичного домена в качестве хоста обратного вызова для OAuth, чтобы он согласовал ваш новый сеансовый ключ / секретный ключ и передал его обратно на ваше устройство. Все это время устройству потребуется поддерживать открытое http-соединение с вашим общедоступным сервером, чтобы наконец получить учетные данные и продолжить запрашивать данные пользователя непосредственно у netflix. Вся поездка в оба конца не должна занимать более 15 секунд, поэтому время ожидания HTTP не должно быть проблемой. Сначала вам нужно будет изучить (т.е. "очистить экран") html-страницу входа в систему netflix, чтобы извлечь необходимые / соответствующие имена параметров html-формы и т. Д. Удачи.

0 голосов
/ 13 мая 2010
...