【问题标题】:Vimeo OAuth2 AuthorizationVimeo OAuth2 授权
【发布时间】:2014-04-03 15:00:40
【问题描述】:

我目前正在开发一个需要集成 Vimeo 的应用程序。因此,我正在调整我的工作 OAuth2 客户端以允许对 Vimeo 进行授权,这是新的 beta API。

不过,有些事情我还不清楚,documentation 在这件事上有点含糊。

  1. 是否应该在认证前获得客户端授权?
  2. 用户认证的url是https://api.vimeo.com/oauth/authorize,我应该发送GETPOST请求到这个URL并带有所需的参数吗?
  3. 我应该发送基本授权标头(Authorization : basic base64(client_id:client_secret) 以及身份验证,还是应该是未经身份验证的授权标头 (Authorization : Bearer unauthenticated_access_token)?
  4. 我应该通过 UIWebView 还是通过 Safari 处理身份验证对话框?

此外,在通过 Safari 处理身份验证时,我似乎收到错误消息:{ "error": "An unknown error has occured. Please let us know!"}。有没有人知道实际出了什么问题或提供了一种查找方法?(似乎 Vimeo 在一夜之间改进了他们的错误显示;))

我得到的实际错误是 redirect_uriclient_id 丢失,但我有理由确定它们在执行 POST 时在请求正文中提供,或者在执行 @987654332 时在参数中提供@。有什么指点吗?

【问题讨论】:

  • 您能否提供完整的api.vimeo.com/oauth/authorize(当然,所有令牌都经过审查),以便我可以帮助调试您的 redirect_uri 和 client_id 问题?

标签: ios oauth-2.0 vimeo vimeo-api


【解决方案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。抱歉造成暂时的混乱。

如果没有更多信息,我无法真正回答您的错误消息。我将添加一些 cmets,然后使用更多信息更新此答案。

【讨论】:

  • 嗨 Dashron,感谢您的回答 :) 原来我在 (2) 自己犯了一个错误,因为我只是将授权重定向给用户,所以我混淆了事情的顺序当我已经请求授权码时。现在完美运行:)
猜你喜欢
  • 1970-01-01
  • 2018-01-22
  • 1970-01-01
  • 2021-04-24
  • 1970-01-01
  • 1970-01-01
  • 2018-11-04
  • 2016-11-18
  • 1970-01-01
相关资源
最近更新 更多