【问题标题】:How do I get params with oauth?如何使用 oauth 获取参数?
【发布时间】:2010-11-23 05:31:27
【问题描述】:

我对 Ruby 和 OAuth 有一些困惑。基本上,这就是我正在做的:

@oauth.get('/foo.json?page=1')

但是,由于某些我无法理解的原因,提供程序应用程序仅接收 /foo.json,而 get 参数被剥离。

我想知道我是否在这里遗漏了一些明显的东西。

【问题讨论】:

    标签: ruby oauth oauth-ruby


    【解决方案1】:

    对于 OAuth 1.0a / RFC 5849,您可能会发现我的 Signet OAuth 实现比 oauth gem 更容易使用。 Documentation 应该非常直截了当。 OAuth 2.0 支持正在进行中,即将推出。

    但是,在您的具体情况下,oauth gem 的设计存在问题。 get 函数的第一个参数是路径。不是完整的请求 URI。他们显然假设没有人会使用该特定方法使用查询参数?我的猜测是,这里的基本原理是,由于必须对查询参数进行签名,因此可靠地解析请求 URI 并将参数合并到其中比他们想要做的工作更多?

    向该库的作者致歉,我的建议是简单地避免使用它。在我看来,它的设计真的很糟糕。对于某些事情来说,这是一个足够好的实现,但是如果您正在使用的 API 没有使用 Ruby 的相应 OAuth 服务器,我认为它做得不是很好。

    【讨论】:

    • 感谢您的回答,我无法使用查询参数这听起来很奇怪,它只是没有意义。我会看看你的图书馆,看看我能做些什么。
    猜你喜欢
    • 2015-09-24
    • 2013-08-11
    • 2011-09-28
    • 2011-06-27
    • 2013-01-22
    • 2019-11-14
    • 1970-01-01
    • 2016-12-24
    相关资源
    最近更新 更多