在我的本地机器上,谷歌身份验证工作正常,但当我在Dreamhost上发布到生产服务器时,当我点击登录页面上的谷歌身份验证按钮时,我会收到以下错误。
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
确保OpenID文件存储设置正确,即
OpenID::Store::Filesystem.new('./tmp')
(注意/tmp前面的.)
如果您不能让它与文件系统一起工作,那么很多人都使用了数据库或memcached存储。
请参阅文档:https://github.com/intridea/omniauth/wiki/OpenID-and-Google-Apps
此示例应用程序是为Heroku编写的,但问题相同(无法正确配置写入访问权限):https://github.com/madhums/omniauth-on-heroku/
希望这能有所帮助。