use*_*713 7 facebook ruby-on-rails omniauth
我是关于Facebook身份验证的新手,并且遇到了重定向问题.我使用Rails 3.2.6实现了我的应用程序,并使用omniauth-facebook 1.4.0与Facebook集成.在我的网站上"与Facebook一起唱歌",但是,画布认证不能按预期工作.
期望:
实际结果:
用户身份验证有效,但我的应用页面会重定向到iframe之外.
Facebook应用程序设置如下.画布URL设置为"/ auth/facebook /"以立即对用户进行身份验证.(我添加了空格以避免喜欢无效域)
Facebook登录网站网址:http:// localhost:3000/
画布URL:http:// localhost:3000/auth/facebook /
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, FB_APP_ID, FB_APP_SECRET, {:image_size => 'large', :iframe => true, :client_options => {:ssl => {:ca_file => Rails.root.join('lib/assets/cacert.pem').to_s}}}
end
Run Code Online (Sandbox Code Playgroud)
class SessionsController < ApplicationController def create
auth = Auth.from_omniauth(env["omniauth.auth"])
session[:user_id] = auth.id
redirect_to root_url end
def destroy
session[:user_id] = nil
redirect_to root_url end end
Run Code Online (Sandbox Code Playgroud)
提前致谢!
解决此问题的简单方法是检测用户是否在框架内,如果不在框架内,则将其弹回 Facebook。我在 Facebook 应用程序中使用以下 JavaScript 执行此操作:
<script type="text/javascript">
if ( top === self ) {
window.top.location = '{fb_canvas_url}';
}
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1348 次 |
| 最近记录: |