Ruby Oauth-plugin授权不起作用

时间:2011-10-18 15:03:26

标签: ruby-on-rails ruby ruby-on-rails-3 oauth oauth-2.0

我正在使用Ruby oauth-plugin (version 0.4.0.pre7)使我的Rails(3.0.3)应用程序成为oauth提供程序。安装工作正常,我认为提供商方面也正常。但是,我陷入了授权阶段。

以下是我正在做的事情,安装后:

  1. 创建oauth客户端
  2. @consumer = OAuth::Consumer.new "consumer_key", "consumer_secret", {:site => "http://localhost:3000"}
  3. @request_token = @consumer.get_request_token
  4. @request_token.authorize_url
  5. 将其返回的网址粘贴到我的浏览器中。
  6. 我收到错误:'错误的参数数量(0表示2)'

    我可以从代码中看到查询正在查找:

    SELECT `oauth_tokens`.* FROM `oauth_tokens` WHERE (`oauth_tokens`.`type` = 'Oauth2Token') AND (invalidated_at IS NULL AND authorized_at IS NOT NULL and token = 'XXXTOKENXXX') LIMIT 1
    

    问题似乎是它正在寻找'Oauth2Token',但在检查我的数据库时,所有请求都在创建'RequestToken'。

    我是否在授权连接过程中遗漏了一些步骤?我有错误的配置吗?似乎Oauth版本之间存在某种冲突(就像为1.0生成请求而auth使用2.0)。

    有什么想法吗?

    更新:我正在关注本教程:http://unhandledexpression.com/2011/06/02/rails-and-oauth-plugin-part-1-the-provider/,并且有一个错字。另一位用户非常友好地在评论中发布了修复,但作者从未更新过教程。

    为了记录,问题是alias :login_required :authenticate_user应该是alias :login_required :authenticate_user!

1 个答案:

答案 0 :(得分:1)