Проблемы с перенаправлением при реализации oAuth2 для Blackberry с использованием веб-сайтов

Я пытаюсь реализовать приложение SoundCloud для телефонов Blackberry, используя структуру веб-сайтов.

Я использую схему OAuth2 для авторизации. Пока я могу отобразить страницу входа в SoundCloud, откуда пользователь может разрешить приложение. Но проблема возникает во время перенаправления, которое, по сути, выполняется SoundCloud. Страница перенаправления, на которую указывает URI обратного вызова, находится на моем устройстве, но после того, как пользователь одобрит приложение, я получаю страницу с сообщением «что-то пошло не так». Однако, когда я пытаюсь перенаправить перенаправление с третьего сервера, все работает нормально. В этом случае я указываю URL-адрес обратного вызова, указывающий на страницу на веб-сайте, который перенаправляет запрос только на страницу, которая находится на моем устройстве. Но проблема в том, что я не хочу использовать этот "сервер отказов"

Не могли бы вы посмотреть код и посоветовать, если я делаю что-то не так.

/**
 * Authenticates the app against soundcloud
 * This javascript method is called in the index.htm of my application.
 */
authenticate : function(){
    var url = "https://soundcloud.com/connect?" + "scope=nonexpiring&client_id=MY_CLIENT_ID&" +
              "response_type=code&redirect_uri=local:///testpage.htm";
    window.location = url;
;

/************************************/

testpage.htm отображает только "привет звуковое облако".

Любая помощь в этом отношении будет высоко оценена.


person Roomioroid    schedule 10.04.2012    source источник
comment
Я не уверен, но наличие протокола local:/// может быть частью этого. Я мало что знаю о веб-сайтах, но не могли бы вы попробовать использовать адрес локального хоста и посмотреть, как это работает?   -  person nickf    schedule 11.04.2012
comment
nickF ----- Я пробовал и с локальным хостом, но это не работает. Причина, по которой я пишу local:///, заключается в том, что в Blackberry ресурсы для приложения webworks по умолчанию хранятся в этом месте, поэтому моя страница перенаправления должна быть помещена в local:///myfile.htm в моем телефоне.   -  person Roomioroid    schedule 11.04.2012


Ответы (2)


Значение параметра redirect_uri должно совпадать со значением «URI перенаправления» на странице редактирования приложения.

Пример: https://img.skitch.com/20120411-q6yqada29tcadnep15jc6q75a1.jpg

IHTH Ханнес

person Hannes Tydén    schedule 11.04.2012

Проблема заключается в тройной косой черте в вашем файле redirect_uri. Хотя это допустимый URI в соответствии с RFC 3986, библиотекой Ruby URI. ведет себя немного странно при разборе таких значений. Мы работаем над исправлением.

А пока не могли бы вы попробовать использовать local:/testpage.htm?

person grobie    schedule 11.04.2012
comment
Кстати, я нашел еще одну проблему, которую вы, ребята, возможно, захотите изучить. Если в URL-адресе перенаправления, указанном в настройках приложения на веб-сайте Soundcloud, есть знак подчеркивания, этот URL-адрес не сохраняется, вместо этого сохраняется пустое поле. - person Roomioroid; 11.04.2012