0

它在本地工作得很好。用户可以使用谷歌或通过输入电子邮件和密码登录,并被带到显示所有用户帖子和评论的帖子索引页面,但是,由于部署到 Heroku,点击“用谷歌登录”后,我们被带到发布索引页面,该页面仅显示导航栏,之后没有任何红宝石被触发,并且用户未登录。

见这里:http ://surfbuddy.herokuapp.com/这个页面看起来不错,但是试试谷歌登录看看会发生什么

一些细节:这是一个 Rails 4 应用程序,但我正在使用 protected_attributes gem,不知道这是否与它有关。我建立了自己的用户身份验证,然后为 google 添加了 oauth。Postgres 在生产中运行,SQLite 在开发中运行。我已经尝试了一些东西,比如 rails_12factor gem,并在 production.rb 中弄乱了配置。

编辑:现在当我在生产中运行服务器时,我收到“我们很抱歉,但出了点问题”,在终端中,错误是“致命 - :ActionView::Template::Error(找不到表'用户' ):"

4

2 回答 2

0

成功!在拆开并重建我的身份验证并添加一些调试代码后,我能够看到正在接收到对 googles oauth 的请求,但没有返回任何用户。出于某种原因,这在开发中运行良好,但在生产中不起作用。解决方法是使用 oauth 1.0 而不是 2.0。不确定为什么 2.0 在生产中不起作用。

于 2013-09-14T18:33:42.620 回答
0

您能否提供更多细节,其中一些 HTTP 标头来回移动?

它在一个地方工作但在另一个地方不起作用的事实表明,redirect_uri 可能是不稳定的;当您在开发者控制台中注册您的应用程序时,您是否在 redirect_uri 值中包含了 surfbuddy.herokuapps..?

于 2013-09-11T22:54:44.523 回答