繁体   English   中英

谷歌oauth失败,在轨道omniauth未经授权401

[英]google oauth fails with 401 unauthorized in rails omniauth

我正在尝试使用设计和omniauth与谷歌oauth2进行身份验证。 我按照omniauth文档中的规定虔诚地设置回调,甚至使用相同的确切代码。 https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview

我将代码上传到github: https//github.com/kiranjulapalli/devisetest

我被重定向到登录,当我选择我的帐户时,我再次被重定向到sign_in页面。 我在这里错过了什么?

这是日志:

Started GET "/users/auth/google_oauth2/callback?state=3baa394efe9c586b30fgfc05b1f618af04b7728d0d75c3c1&code=4/HxV9O
37jKYgxg10EWDntdfewZTz3.4kqevOMEweMTshQV0ieZDArQUdYefAI" for 127.0.0.1 at 2013-04-15 16:36:01 -0400
Processing by Users::OmniauthCallbacksController#google_oauth2 as HTML
  Parameters: {"state"=>"3baa394efe9c586b30fgfc05b1f618af04b7728d0d75c3c1", "code"=>"4/HxV9O
37jKYgxg10EWDntdfewZTz3.4kqevOMEweMTshQV0ieZDArQUdYefAI"}
  MOPED: 127.0.0.1:27017 COMMAND      database=admin command={:ismaster=>1} (2.0001ms)
  MOPED: 127.0.0.1:27017 QUERY        database=devisetest_development collection=users selector={"$query"=>{"email"
=>"myemailaddress@gmail.com"}, "$orderby"=>{:_id=>1}} flags=[:slave_ok] limit=-1 skip=0 batch_size=nil fields=nil
(0.9999ms)
Completed 401 Unauthorized in 24ms
#custom log statements
logger::Find if this user exists
logger::Return user
logger:Got call back
logger:User persisted

我的routes.rb文件:

Devisetest::Application.routes.draw do
  devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
  resources :users
  root :to => 'home#index'
end

您需要用户在登录前通过电子邮件进行确认。 (来自:确认参数在你的user.rb中设计)

您可以删除:确认或通过rails控制台手动将值(例如Time.now)分配给user.confirmed_at。

您还应该在布局中的某个位置显示flash [:notice],您会看到:“已成功通过Google帐户进行身份验证。您必须在继续之前确认自己的帐户。”

它看起来像: 使用新安装的Rails + Devise获得401 Unauthorized是一个类似的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM