首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Facebook iframe应用程序在用户授权后被重定向出canvas

Facebook iframe应用程序在用户授权后被重定向出canvas
EN

Stack Overflow用户
提问于 2011-10-20 14:05:41
回答 1查看 1.7K关注 0票数 2

我的facebook应用程序在用户授权后被重定向到画布url (http://my-domain/app)。步骤顺序如下所示:

1)新用户在canvas中打开应用程序,并通过Javascript重定向重定向到oauth权限对话框

2)一旦用户授权了应用程序,就会调用该应用程序的redirect_uri,我将获得访问令牌,并将其保存在会话中

3)我还获得了授权用户的用户id,并将其保存到会话中

4)当我将其重定向到canvas url时,它将移出facebook canvas。

5)如果我试图将它重定向到画布页面(http://apps.facebook.com/app_name),它会陷入无限循环,因为会话值被清除,这个过程会重复--我不知道为什么。

这是一个rails 3应用程序,我使用的是考拉gem。代码如下所示:

代码语言:javascript
复制
  def index
    if (session[:access_token].blank?)
    session[:oauth] = Koala::Facebook::OAuth.new(APP_ID, APP_SECRET, oauth_redirect_url)
    end
    @app_id = APP_ID
  end

  def redirect
    session[:access_token] = session[:oauth].get_access_token(params[:code]) if params[:code]
    if session[:access_token].blank?
      flash[:error] = "You didn't authorize the application. Please authorize the application to throw a firecracker on your friend's wall!"
      redirect_to :action => "authorize_app" and return
    else
      session[:fb_user_id] = Koala::Facebook::API.new(session[:access_token]).get_object("me")["id"]
    end
    redirect_to :action => "index"
  end

我已经浪费了几乎一天的时间试图修复它,并寻找解决方案,但到目前为止还没有。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-20 15:46:03

步骤1、步骤2、步骤3 are ok

步骤4:当用户授权你的应用程序时,它将被重定向到canvas url处的yourapp.com (画布url),您将执行以下操作:

代码语言:javascript
复制
<script>
window.top.location='https://apps.facebook.com/yourapp' //(canvas page)
</script>

步骤5:当调用画布页面时,您将获得signed_request,然后使用您的fb解析它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7831756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档