带有Google oauth的Rails 4应用程序未在heroku上加载某些页面

带有Google oauth的Rails 4应用程序未在heroku上加载某些页面,heroku,ruby-on-rails-4,google-oauth,Heroku,Ruby On Rails 4,Google Oauth,它在本地非常有效。用户可以使用谷歌或输入电子邮件和密码登录,并被带到显示所有用户帖子和评论的帖子索引页面,但是,由于部署到Heroku,在单击“使用谷歌登录”后,我们会被带到帖子索引页面,该页面仅显示导航栏,在触发后没有显示ruby,并且用户未登录 看这里:这个页面看起来不错,但是试试谷歌登录看看会发生什么 一些细节:这是一个Rails 4应用程序,但我使用的是protected_attributes gem,无法确定这是否与此有关。我构建了自己的用户身份验证,然后为google添加了oauth

它在本地非常有效。用户可以使用谷歌或输入电子邮件和密码登录,并被带到显示所有用户帖子和评论的帖子索引页面,但是,由于部署到Heroku,在单击“使用谷歌登录”后,我们会被带到帖子索引页面,该页面仅显示导航栏,在触发后没有显示ruby,并且用户未登录

看这里:这个页面看起来不错,但是试试谷歌登录看看会发生什么

一些细节:这是一个Rails 4应用程序,但我使用的是protected_attributes gem,无法确定这是否与此有关。我构建了自己的用户身份验证,然后为google添加了oauth。Postgres在生产环境中运行,SQLite在开发环境中运行。我尝试了一些东西,比如rails_12factor gem,以及在production.rb中处理配置

编辑:现在,当我在生产中运行服务器时,我得到了“很抱歉,出现了一些问题”,在终端中,错误是“致命--”:
ActionView::Template::Error(找不到表“users”):“

您能提供一些更详细的信息,其中一些HTTP头会来回移动吗


它在一个地方工作,而不是在另一个地方,这表明重定向uri可能是不可靠的;当您在开发者控制台中注册应用程序时,是否包含了surfbuddy.herokupps。。在重定向uri值中?

成功!在分解和重建我的身份验证并添加一些调试代码之后,我能够看到接收到对GoogleOAuth的请求,但没有返回任何用户。出于某种原因,这在开发中效果很好,但在生产中不起作用。修复方法是使用oauth 1.0而不是2.0。不清楚2.0为什么不能在生产环境中工作

起初这就是问题所在,通过在开发人员控制台中创建重定向uri很快解决了问题:然后页面将加载,就像现在一样。我还注释了posts控制器上用于身份验证的before_过滤器,以查看这是否阻止了我的代码加载,但没有任何作用。我添加了“test”一词,只是为了确认事情会呈现在页面上,他们确实这样做了,只是没有“posts”逻辑。我很难解释这个问题。