OmniAuth + Devise + Rails 3在生产中失败,并显示Error :: EACCES

问题描述

|| 在我的本地计算机上,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文件夹更改为777,但仍然出现拒绝权限错误。我还能尝试什么? TIA     

解决方法

如果您无法使其与文件系统一起使用,则很多人都在使用数据库或内存缓存存储。 请参阅文档: https://github.com/intridea/omniauth/wiki/OpenID-and-Google-Apps 该示例应用是为Heroku编写的,但问题是相同的(无法正确配置写访问权限): https://github.com/madhums/omniauth-on-heroku/ 希望这可以帮助。     ,确保您的OpenID文件存储正确设置,即。
OpenID::Store::Filesystem.new(\'./tmp\')
(注意/ tmp前面的。)     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...