【问题标题】:Custom URL scheme for an iOS app with dropbox oauth2 authorization?具有 Dropbox oauth2 授权的 iOS 应用程序的自定义 URL 方案?
【发布时间】:2016-01-11 10:55:04
【问题描述】:

我正在尝试将 Dropbox 与基于 Qt 的 iOS 应用程序一起使用。我的问题是从保管箱授权网页重定向回应用程序。 我没有设法让 Dropbox 授权与 Qt WebView 一起工作,所以我只是将默认浏览器启动到 Dropbox 授权站点。

根据 dropbox 开发门户,对于 redirect_uri 参数,外部地址只能使用 https 方案,本地地址只能使用 http 方案。

这是否使重定向无法使用我为我的应用配置的 URL 方案,例如:'myapp://'?

我应该如何让 Dropbox 重定向回我的应用?我应该使用使用 URL 方案重定向到我的应用程序的自定义网站,还是应该让我的应用程序作为侦听 localhost 上的某个端口的服务器,以便使用“http://localhost:[port number]”?建议?这些甚至可能吗?

能否以某种方式将 URL 方案与基于 'http://localhost' 的 URL 结合使用?

当然可以省略redirect_uri,让用户复制授权码或token,切换回我的应用,粘贴到文本字段,但我觉得这样会有点麻烦用户。

【问题讨论】:

    标签: ios qt oauth-2.0 url-redirection dropbox-api


    【解决方案1】:

    这里需要注意的重要一点是,Dropbox API OAuth 2 实现提供了两种不同的流程,“代码”和“令牌”。代码流确实需要 https://,除非它是 localhost URL,在这种情况下它允许 http:// 或 https://(仅)。

    不过,您可以在令牌流中使用其他协议。以下是列出的变体,以及每个变体的结果/错误。

    redirect_uri

    代码流程:

    令牌流:

    没有redirect_uri

    代码流程:

    令牌流:

    【讨论】:

    • 感谢您的意见。我应该补充一点,我无法将 URL 方案地址添加到 Dropbox 应用仪表板中的 recirect_uris 列表中。目前我只是使用自定义网站重定向到我的应用程序。我目前的问题是捕捉参数。一个问题:在您的示例应用方案 URL (myapp://dropbox_callback) 中,字符串“dropbox_callback”表示什么?它是应用程序等的一些“虚拟”文件夹/目录吗?函数名?目前我只了解如何通过一个简单的 URL 方案地址调用我的应用程序,该方案地址只有 URL 的方案部分,例如:'myapp://'。
    • “dropbox_callback”部分是随意编造的。
    • 另外,你的意思是你不能添加URL方案地址?如果您在网站上遇到问题,请随时开票:dropbox.com/developers/contact
    • 但是当应用程序被唤起时,这部分是否有任何意义?它会作为网络事件中的参数处理吗? -- 抱歉,我还不是 100% 熟悉 URL 计划和以这种方式启动应用程序。如果有人能插话,我将不胜感激。
    • 关于该错误,您需要注册“myapp://dropbox_callback”之类的内容,而不仅仅是“myapp://”。
    猜你喜欢
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多