我正在制作一个 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 在身份验证后将用户发送到画布应用程序?