OmniAuth + Devise + Rails 3在生产中因Error :: EACCES而失败

时间:2011-05-25 15:54:25

标签: ruby-on-rails-3 devise omniauth

在我的本地计算机上,Google身份验证工作正常,但当我在Dreamhost上发布到我的生产服务器时,当我点击登录页面上的Google身份验证按钮时出现以下错误。

Started GET "/auth/google?openid_url=https://www.google.com/accounts/o8/id" for [REMOVED IP] at Wed May 25 08:47:01 -0700 2011

Errno::EACCES (Permission denied - /tmp/associations/https-www.google.com-apdYYPrtQGUIj7Vp7jMTz.Kn74A-ZmpumY7Issy.P1r4_X0d6_oGqkI):

我暂时将tmp文件夹chmod到777但我仍然得到权限被拒绝错误。我还能尝试什么?

TIA

2 个答案:

答案 0 :(得分:1)

确保您的OpenID文件存储设置正确,即..

OpenID::Store::Filesystem.new('./tmp')

(注意/ tmp前面的。)

答案 1 :(得分:0)

如果你无法使用文件系统,很多人都使用了数据库或memcached存储。

参见文档: https://github.com/intridea/omniauth/wiki/OpenID-and-Google-Apps

此示例应用程序是为Heroku编写的,但问题是相同的(无法正确配置写入权限): https://github.com/madhums/omniauth-on-heroku/

希望这有帮助。