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

前端之家收集整理的这篇文章主要介绍了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 = ""

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

猜你在找的Ruby相关文章