我在我的Rails应用程序中使用Devise + Omniauth(实际上是omniauth-foursquare,foursquare OAuth2策略)。 登录后,我会继续被重定向到我的应用(/ users / sign_in# = ),并出现以下错误:
无法通过Foursquare对您进行身份验证,因为“已检测到Csrf”
任何见解?
这是我在控制台中最后看到的内容:
据我所知,当我收到“cookie overflow”erorr并切换到session_storing时,我的麻烦就开始了:(session_store.rb)
Rails.application.config.session_store :active_record_store, key: '_APPNAME_session', domain: 'DOMAIN.com'
谢谢!
答案 0 :(得分:0)
如果您检查应用的来源,您将看到生成的HTML包含HEAD元素中的CSRF元标记(即csrf-token和csrf-param)。最有可能的是,您的一个布局/视图正在调用csrf_meta_tags方法。尝试删除它以查看它是否有效,然后考虑为没有它的单独布局创建一个不需要它的表单。其他在前端轨道上有更多经验的人可以在这里使用最佳实践。