亲爱的SO的好人:
我正在 Rails 3.2.12 上开发一个 Ruby 应用程序(我还是新手)。
我正在尝试让 Devise 与 Omniauth 合作……我尝试的第一个策略是 Google_oauth2。
在选择了我想在谷歌中使用的凭据后,我让它工作到谷歌重定向回我的 localhost:3000 实例的地步。
在此重定向回 localhost 后,我看到一个快速通知:
Could not authenticate you from GoogleOauth2 because "Csrf detected".
服务器日志包含以下内容:
Started GET "/users/auth/google_oauth2" for 127.0.0.1 at 2013-03-21 08:57:01 -0400
(google_oauth2) Callback phase initiated.
(google_oauth2) Callback phase initiated.
(google_oauth2) Authentication failure! invalid_credentials: OmniAuth::Strategie
s::OAuth2::CallbackError, OmniAuth::Strategies::OAuth2::CallbackError
Started GET "/users/auth/google_oauth2/callback?state=7849a3762d07e7f89e69b4aa46
7efc7b7b2c21655193396b&code=4/v-dSBwAvQUUZL87iNV_yk_Z8s_x0.cnqsdbDX4gUYaDn_6y0ZQ
NgQ9hAaewI" for 127.0.0.1 at 2013-03-21 08:57:40 -0400
Processing by OmniauthCallbacksController#failure as HTML
Parameters: {"state"=>"7849a3762d07e7f89e69b4aa467efc7b7b2c21655193396b", "cod
e"=>"4/v-dSBwAvQUUZL87iNV_yk_Z8s_x0.cnqsdbDX4gUYaDn_6y0ZQNgQ9hAaewI"}
Redirected to http://localhost:3000/users/sign_in
Completed 302 Found in 0ms (ActiveRecord: 0.0ms)
我注意到,如果我只是将回调 URL 直接放入浏览器,而不提供任何参数,我会得到完全相同的结果。
http://localhost:3000/users/auth/google_oauth2/callback
我可以尝试什么?我还能提供哪些其他信息?