1

Тема: OAuth авторизация

Привет. Пилю клиент для goodreads.com. Авторизация идет через OAuth 1.0. Для этого использую kqoauth библиотеку. Столкнулся с такой проблемой: kqoauth поднимает свой локальный http сервер,адрес которого передается как oauth_callback и на который приходит ответ после авторизации своего приложения через сайт (ну знаете эту фигню про "разрешить этому приложению доступ к профилю и т.д."). Проблема заключается в том, что goodrads необходимо передать адрес колбека как параметр урла (/oauth/authorize?oauth_callback=http://yourapp.com/goodreads_oauth_callback ). Но либа не позволяет узнать на каком порту поднят локальный сервер и как следтсвие я не получаю верификационный код и не могу получить access_token.
Внимание вопрос: че вообще делать? Что использовать для авторизации? Как получить аccess_token в моем случае? У кого есть опыт работы с oauth?

Поделиться

2

Re: OAuth авторизация

Maledictus а разве такой подход не требует белого ip ?

We all know Linux is great … it does infinite loops in 5 seconds.The only limiting factor of the Linux operating system is its user.

Поделиться

3

Re: OAuth авторизация

bonapart пишет:

Maledictus а разве такой подход не требует белого ip ?

Нет. Он поднимает сервер на "oauth_callback"  :  "http://localhost:56448" , например.

Поделиться

4

Re: OAuth авторизация

делать все ручками в таком случае, надо читать документацию, или связаться с админами.

+ открыть спойлер

Я ничeму нe рaд в мoлчaньи cвeтлыx днeй. Я - Мазандар! И грoм и дoждь друзья мoи тeпepь. В лaдoни гopсть пpичудливыx кaмнeй… Бeзвoдный край… Прoрoкoв слaвить грех тут. Нe лгу сeбe : нe ждeт тaких уcпeх. И я нe стaну никoгдa тaким, кaким хoчу. Тaк умирaeт сaмoмнeньe, нo пуcть живeт сoмнeньe. Oнo и ecть пoкopнocть и пeчaль для днeй людcких. И вce прoйдeт лeгкo, бeз лишнeй бoли. Нa сaмoм дeлe этo хoрoшo, и я дoвoлeн…

Поделиться

5

Re: OAuth авторизация

AndyTitan пишет:

делать все ручками в таком случае, надо читать документацию, или связаться с админами.

Вытащил я все таки адрес сервера костылями. Передал и получил эпичный ответ:
User authorization received:  "nyyTjCChyFMsWuDGS3yZRg" ""
Not verified. Cannot get access tokens.

Поделиться

6

Re: OAuth авторизация

В общем нашел выход. Встроил QWebView в проект и костыли небольшие сделал.

Поделиться

7 (18.03.2013 02:59:07 отредактировано Maledictus)

Re: OAuth авторизация

Бампану тему. Не может же такое быть, что тут никто не связывался с oauth авторизациями. Почти все они требуют перехода по redirect_uri после принятия или отклонения доступа к приложения через браузер. Наконец-то нашел что-то понятное тут: http://api.yandex.ru/oauth/doc/dg/refer … client.xml, что бы не лезли читать сразу цитата:

...укажите в качестве адреса для редиректа ссылку с этой схемой, например:

myapp://token

В мобильной ОС зарегистрируйте свое приложение в качестве обработчика этой схемы, чтобы при переходе по ссылке с этой схемой (ссылке, начинающейся с myapp://) запускалось ваше приложение.

Так вот. Нашел я такой выход для maemo: http://talk.maemo.org/showthread.php?t=30772&page=2
Но, в этом случае, он требует создания не просто приложения, а SinglaApplication, потому что тут происходит запуск второй копии. Вопрос в том, что этот метод не применим в данный момент для sailfish os.

В общем, мне нужна любая возможная помощь по завершению авторизации через oauth без встраивания браузера в приложения, потому что

Please send the user to the URL via their default browser in a new tab; do not present this page in a webview or screen within your application. Doing so violates Pocket's API guidelines.

Поделиться