【问题标题】:Problems with redirection while implementing oAuth2 for blackberry using webworks使用 webworks 为黑莓实现 oAuth2 时出现重定向问题
【发布时间】:2012-04-10 20:58:44
【问题描述】:

我正在尝试使用 webworks 框架为黑莓手机实现 SoundCloud 应用程序。

我正在使用 OAuth2 方案进行授权。到目前为止,我能够显示用户可以允许应用程序的 SoundCloud 登录页面。但是问题发生在重定向期间,这基本上是由 SoundCloud 完成的。回调 URI 指向的重定向页面位于我的设备中,但在用户批准应用程序后,我得到一个页面说“出了点问题”。但是,当我尝试从第三台服务器反弹重定向时,它工作正常。在这种情况下,我指定回调 URL 指向网站上的页面,该页面仅将请求转发到驻留在我的设备上的页面。但问题是我不想使用这个“反弹服务器”

您能否查看代码并告知我是否做错了什么。

/**
 * Authenticates the app against soundcloud
 * This javascript method is called in the index.htm of my application.
 */
authenticate : function(){
    var url = "https://soundcloud.com/connect?" + "scope=nonexpiring&client_id=MY_CLIENT_ID&" +
              "response_type=code&redirect_uri=local:///testpage.htm";
    window.location = url;
;

/************************************/

testpage.htm 只显示“hello sound cloud”。

在这方面的任何帮助都将受到高度赞赏。

【问题讨论】:

  • 我不确定,但拥有local:/// 协议可能是其中的一部分。我对 webworks 了解不多,但您可以尝试使用 localhost 地址看看效果如何?
  • nickF -----我也尝试过使用 localhost ,但这不起作用。我写 local:/// 的原因是,在黑莓中,webworks 应用程序的资源默认存储在这个位置,所以我的重定向页面应该放在我手机中的“local:///myfile.htm”。

标签: oauth soundcloud


【解决方案1】:

redirect_uri 参数的值必须与应用编辑页面上“重定向 URI”的值匹配。

示例:https://img.skitch.com/20120411-q6yqada29tcadnep15jc6q75a1.jpg

IHTH 汉内斯

【讨论】:

    【解决方案2】:

    问题在于redirect_uri 中的三斜杠部分。尽管根据RFC 3986,它是一个有效的 URI,但 Ruby URI 库在解析此类值时表现得有点奇怪。我们正在努力解决问题。

    在此期间,您可以尝试使用 local:/testpage.htm 吗?

    【讨论】:

    • 顺便说一句,我发现了你们可能想要研究的另一个问题。如果在 soundcloud 网站上的应用程序设置中指定的重定向 url 中有下划线符号,则不会保存该 url,而是存储一个空字段。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多