2014-04-03 153 views
0

我目前正在研究需要集成Vimeo的應用程序。因此,我正在調整我的工作OAuth2客戶端,以允許授權Vimeo它是新的測試版API。Vimeo OAuth2授權

但是,有些事情對我來說還不清楚,documentation在這個問題上有點含糊。

  1. 我應該在驗證之前獲得客戶端授權嗎?
  2. 用戶身份驗證網址是https://api.vimeo.com/oauth/authorize,我應該發送一個GETPOST請求到這個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_uriclient_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)

我們做昨晚修復bug在我們的OAuth錯誤報告:d。對不起暫時的困惑。

沒有更多的信息我不能真正回答你的錯誤信息。我會添加一些評論,然後用更多信息更新這個答案。

+0

嗨Dashron,感謝您的回答:)原來我在(2)我自己犯了一個錯誤,我混淆了事情的順序,因爲我只在已經請求授權碼時纔將授權重定向到用戶。現在完美的工作:) – MrJre