2011-10-18 54 views
1

我使用Ruby oauth-plugin (version 0.4.0.pre7)將我的Rails(3.0.3)應用程序設置爲oauth提供程序。安裝工作正常,我認爲提供者方面也工作得很好。但是,我在授權階段卡住了。Ruby Oauth-plugin授權不起作用

下面是我在做什麼,安裝後:

  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. 將其粘貼到返回我的瀏覽器的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生成,而身份驗證正在使用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

事實上,我更新了教程。感謝您使用它:) –

回答