我正在使用Ruby oauth-plugin (version 0.4.0.pre7)使我的Rails(3.0.3)应用程序成为oauth提供程序。安装工作正常,我认为提供商方面也正常。但是,我陷入了授权阶段。
以下是我正在做的事情,安装后:
@consumer = OAuth::Consumer.new "consumer_key", "consumer_secret", {:site => "http://localhost:3000"}
@request_token = @consumer.get_request_token
@request_token.authorize_url
我收到错误:'错误的参数数量(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!
答案 0 :(得分:1)