0

我正在制作一个 FB Canvas 应用程序。

问题:用户认证后,他们返回到应用程序的非 Canvas 版本。这是我的代码:

provider :facebook, CONFIG['app_id'], CONFIG['secret_key'], :scope => "publish_stream, rsvp_event"

match "/auth/facebook/callback" => "sessions#oauth_create"
match "/auth/facebook", :as => "facebook"
match "/auth/failure" => "sessions#oauth_failure"

当用户从 Facebook 返回时,他们会被发送到oauth_create(下面)- 但是,他们是通过普通(非画布)应用程序 url ( localhost:3000) 发送给它的,而不是画布应用程序 ( apps.facebook.com/my-app-namespace),所以redirect_to root_path下面只是将它们发送到常规应用程序。

def oauth_create
  auth = request.env["omniauth.auth"]
  t = auth["credentials"]["token"]
  session[:facebook_token] = t
  redirect_to root_path
end

我正在使用omniauth-facebook gem。

如何告诉 FB 在身份验证后将用户发送到画布应用程序?

4

0 回答 0