ruby-on-rails-3 – #_ = _通过Facebook添加到URL

通过Facebook连接到我的Rails应用程序后,我将#_ = _添加到我的URL.

我尝试指定一个由FB指定的redirect_uri,但它没有起作用.
Javascript解决方法去除符号没有帮助.我试过一切没有结果.
任何关于如何解决这个问题的指针?

我的设置:

gem 'rails','3.0.11'
gem "devise",'1.5.2'
gem "omniauth",'1.0.1'
gem 'omniauth-facebook','1.0.0rc2'

module Facebook
 CONfig = YAML.load_file(Rails.root.join("config/facebook.yml"))[Rails.env]
 FB_APP_ID = CONfig['app_id']
 FB_APP_SECRET = CONfig['secret_key']
end

Rails.application.config.middleware.use OmniAuth::Builder do    
 provider :facebook,Facebook::FB_APP_ID,Facebook::FB_APP_SECRET,:scope => 'offline_access,email,publish_stream',:display => 'touch'
end

解决方法

#_ = _ fragment被Facebook故意添加,如 Change in Sessions Redirect Behavior所述.显式地设置您的请求中的redirect_uri涉及到这个问题,但是显然存在一个错误,即使在指定了redirect_uri时仍然存在不需要的碎片.

假设此错误解决,解决方法可能是使用Javascript替换散列位置:

window.location.hash = ""

这不代替实际的哈希字符,但会摆脱所有跟随它的东西.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...