2014-04-03 3 views
0

В настоящее время я работаю над приложением, которое должно интегрировать Vimeo. Поэтому я адаптирую свой рабочий клиент OAuth2, чтобы разрешить Vimeo новый бета-API.Vimeo OAuth2 Авторизация

Однако есть некоторые вещи, которые мне непонятно, и documentation немного расплывчато по этому вопросу.

  1. Должен ли я получить авторизацию клиента до аутентификации?
  2. URL-адрес аутентификации пользователя: https://api.vimeo.com/oauth/authorize, должен ли я отправить запрос GET или POST на этот URL с требуемыми параметрами?
  3. Должен ли я отправить основной заголовок авторизации (Authorization : basic base64(client_id:client_secret) вместе с аутентификацией или он должен быть неаутентифицированным заголовком авторизации (Authorization : Bearer unauthenticated_access_token)?
  4. Должен ли я обрабатывать диалог аутентификации через UIWebView или через Safari?

Кроме того , Я, кажется, получаю сообщение об ошибке: { "error": "An unknown error has occured. Please let us know!"} при обработке аутентификации через Safari. Кто-нибудь знает, что на самом деле пошло не так, или дайте способ узнать? (Кажется, Vimeo улучшил отображение своей ошибки за одну ночь;))

Фактическая ошибка, которую я получаю, заключается в том, что отсутствуют redirect_uri и client_id, но я уверен, что они получаются в теле запроса при выполнении POST или в параметрах при выполнении GET. Любые указатели?

+0

Можете ли вы предоставить полный https://api.vimeo.com/oauth/authorize (конечно же, с цензурой всех токенов), поэтому я могу помочь отладить проблему redirect_uri и client_id? – Dashron

ответ

1
  1. Для аутентификации пользователя не требуется авторизация клиента. Авторизация клиента необходима только для выполнения неавторизованных запросов api.

  2. Вы не делаете запрос на api.vimeo.com/oauth/authorize, вы отправляете своего пользователя там. Вы должны создать ссылку и поместить ее на страницу для своего пользователя. Они сделают запрос GET для этой конечной точки, но это не должно происходить через ваш сервер.

  3. Поскольку ваш клиент делает запрос/oauth/authorize, вы не можете определить заголовки. Вам нужно будет предоставить заголовок авторизации/OAuth/access_token, и это должно быть Authorization : basic base64(client_id:client_secret)

Мы сделали исправить ошибку прошлой ночью в нашей передаче сообщений об ошибках OAuth: D. Извините за временное замешательство.

Без дополнительной информации я не могу ответить на ваше сообщение об ошибке. Я добавлю несколько комментариев, а затем обновить этот ответ с дополнительной информацией.

+0

Привет, Дашрон, спасибо за ответ :) Оказывается, я немного ошибся (2), я смешивал порядок вещей, так как я перенаправлял авторизацию пользователю только тогда, когда я уже просил код авторизации , Отлично работает сейчас :) – MrJre

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