Аутентификация пользователя через Flattr-REST: PIN-код не возвращен? - PullRequest
0 голосов
/ 01 ноября 2011

Я пытаюсь написать новое приложение, используя REST-API Flattr версии 1 (не бета-версия 2). Сначала приложение получает токен запроса, который, кажется, работает правильно. Но я сталкиваюсь с проблемой аутентификации пользователя. Ссылка, созданная для аутентификации, выглядит следующим образом:

https://api.flattr.com/oauth/authenticate?access_scope=read,click&oauth_token=MY_REQUEST_TOKEN

При нажатии на ссылку все выглядит хорошо. Отображается информация о приложении и запрошенной области действия, но при нажатии «Аутентификация» пин-код отсутствует, но появляется следующая ошибка от https://flattr.com/apps/pincode/MY_REQUEST_TOKEN:

Что-то пошло не так. Пожалуйста, попробуйте еще раз

НО теперь приложение находится в списке авторизованных приложений пользователя, хотя это не очень помогает, если пользователь не может получить пин-код ...

Тип приложения установлен для клиента. Это первый раз, когда я пытаюсь работать с API, поэтому я не уверен, что пропустил что-то важное? Был бы признателен за некоторую помощь.

Как обновление: мы наконец-то перешли на API v2. Получение авторизации для нашего приложения выглядит немного неуклюже, поскольку мы устанавливаем редиректурирование на какую-то веб-страницу, где мы отображаем возвращаемый код и позволяем пользователю копировать и вставлять его в наше клиентское приложение ... мы вроде сделали свой собственный поток pincode-потока: /

Ответы [ 2 ]

0 голосов
/ 07 ноября 2011

Пин-код не является запланированной функцией. Вы можете использовать oauth2 «неявное предоставление» для аутентификации владельца ресурсов. На данный момент это не задокументировано, но возможно.

Когда вы делаете запрос к https://flattr.com/oauth/authorize, вы передаете тип ответа token вместо code. Это добавит фрагмент access_token в ваш URL обратного вызова. В вашем http-клиенте можно было бы перехватить 302 с нашего сервера и проанализировать access_token из фрагмента.

Для всего этого в вашем приложении требуется http-клиент, которым вы можете управлять потоком внутри приложения.

0 голосов
/ 04 ноября 2011

Если возможно, используйте API v2, который использует токен носителя oauth2 +.

Однако новый API не поддерживает аутентификацию с использованием потока пин-кода.

Как сказал Майке, это, вероятно, ошибка, которая появилась снова :( Я создам внутреннюю заявку на ошибку и постараюсь ее исправить.

...