Dropbox OAuth2授权API未按预期重定向

时间:2014-12-23 00:23:55

标签: oauth oauth-2.0 dropbox-api

我正在尝试连接Dropbox API using OAuth2。我使用DropNet作为客户端库并使用Token(隐式授权)流选项。测试代码(与DropNet.Samples.WinForms大致相同)是一个带有嵌入式浏览器控件的简单对话框,用于显示API登录页面。

我看到的问题是API没有将浏览器重定向到指定的重定向网址(http://localhost)。在我提供我的凭据并单击允许授予访问权限后,我没有被重定向到localhost,而是被重定向到https://www.dropbox.com/1/oauth2/authorize_submit,但无法加载(错误404)。重定向的URL上也没有查询参数。我希望通过包含授权代码的查询参数重定向到localhost。

作为参考,登录网址为:https://www.dropbox.com/1/oauth2/authorize?response_type=token&client_id=<blah>&redirect_uri=http://localhost

有谁知道我做错了什么?这种行为看起来非常类似于Obtain OAuth2 Access Token for Dropbox Core API with Codenameone's Oauth2 Class中描述的行为,但那里没有直接答案。

1 个答案:

答案 0 :(得分:1)

[编辑] 我仍然不知道为什么它不能使用http://localhost作为重定向网址,但我转而使用@Greg推荐的https://www.dropbox.com/1/oauth2/redirect_receiver,现在它正常工作。

如果它影响其他人尝试使用DropNet WinForms示例代码,我还必须调整代码以处理嵌入式浏览器中的NavigatingNavigated事件,以及{{ 1}},因为浏览器行为似乎因操作系统和浏览器版本而异(不是很大的惊喜)。代码还需要足够智能,一旦检测到重定向就停止导航,因为浏览器可能会从该点继续导航。

最初我通过重定向到Google来修复它,但正如@smarks指出的那样,这不是一个好主意。