2010-01-23 6 views
4

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

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

Мой вопрос: Как я должен это делать на мобильном устройстве? Установлена ​​ли процедура? Я не знаю, как я могу извлечь авторизованный токен из URL-адреса обратного вызова и отправить его обратно в мое приложение. Из моих исследований не видно, что Netflix предоставит PIN-код/​​верификатор для пользователя, чтобы затем ввести его в приложение ...

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

Благодаря ...

+0

Какое мобильное устройство ??? Для ежевики вы можете использовать j2me-oauth –

ответ

2

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

+0

Эта идея меня интересует. Я думал об этом в прошлом, но не знал, как это осуществить. Попробуем. Благодаря! – littleK

+1

Разве этот метод не противоречит одной из основных целей OAuth - чтобы пользователь не мог передать свое имя пользователя/пароль на сторонний сервер? – Matthew

4

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

Temporary Credentials

Использование «OOB» должен вызывать сервер (Netflix), чтобы отобразить код подтверждения, пользователь затем типы в приложение, чтобы санкционировать маркер запроса.

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

+0

Спасибо за помощь, Пол. Я не думаю, что могу использовать настраиваемую схему URI. Я попытался установить oauth_callback на «oob», и после того, как я вошел в систему на странице входа в Netflix, единственное, что появилось, это кнопка «Перейти к Netflix», которая привела меня на сайт Netflix ... – littleK

+1

Привет, behrk2. Хм, если BlackBerry не поддерживает настраиваемые схемы URI, а Netflix не поддерживает обратные вызовы вне списка, это звучит так, как будто вам, возможно, придется взять его с Netflix. Вы пробовали отправлять сообщения на своих форумах поддержки, спрашивая, что они предлагают для устройств, которые не могут принимать обратные вызовы? –

+0

btw, вот ссылка на тему OAuth на форумах Netflix: http://developer.netflix.com/forum/read/27647 –

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