簡體   English   中英

Rails Omniauth缺少必需的參數:代碼

[英]Rails Omniauth missing required parameter: code

在c9.io上運行rails 3.2.18,並且安裝了gem omniauth和omniauth-google-oauth2。 我遇到了一個問題,我將在回調中收到CSRF錯誤,這聽起來像在參數中添加“ provider_ignores_state:true”會阻止這種情況,至少對於測試和開發而言。 它確實擺脫了CSRF錯誤,但現在有了一個新錯誤:

OAuth2::Error

invalid_request: Missing required parameter: code
{
  "error" : "invalid_request",
  "error_description" : "Missing required parameter: code"
}

我的配置/初始化/ omniauth.rb

Rails.application.config.middleware.use OmniAuth::Builder do
    provider :google_oauth2, "clientID", "clientSecret",
    scope: 'profile', image_aspect_ratio: 'square', image_size: 48, access_type: 'online', name: 'google', provider_ignores_state: true
end

跟蹤的前幾行:

oauth2 (1.0.0) lib/oauth2/client.rb:113:in `request'
oauth2 (1.0.0) lib/oauth2/client.rb:138:in `get_token'
oauth2 (1.0.0) lib/oauth2/strategy/auth_code.rb:29:in `get_token'
omniauth-oauth2 (1.3.1) lib/omniauth/strategies/oauth2.rb:93:in `build_access_token'
omniauth-google-oauth2 (0.2.6) lib/omniauth/strategies/google_oauth2.rb:77:in `custom_build_access_token'

編輯:添加寶石的版本

/usr/local/rvm/gems/ruby-1.9.3-p547/gems/omniauth-1.2.2
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/omniauth-google-oauth2-0.2.6

因此問題出在視圖中! 我本來應該是/ auth / google的時候嘗試使用/ auth / google / callback。 花了太長時間才弄清楚那個...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM