Omniauth策略不会响应JSON格式

时间:2014-08-28 00:06:36

标签: ruby-on-rails ruby facebook devise omniauth

我使用this Omniauth Middleware来验证来自iOS应用的Facebook访问令牌。

此策略安装如下:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook_access_token, Settings.facebook.key, Settings.facebook.secret
end

这通过这个网址非常有效:

/users/auth/facebook_access_token/callback?access_token=<snipped>

但是,如果我在路径末尾添加.json,我的路由仍会触发,但无法触发中间件。

/users/auth/facebook_access_token/callback.json?access_token=<snipped>

我知道它无法触发,因为我可以在触发时看到与策略相关的日志活动,当它失败时我得不到。它也不会使用我需要的数据填充request.env["omniauth.auth"]

我选择这两条路径的路线是:

match 'users/auth/facebook_access_token/callback' => 'omniauth_callbacks#facebook', via: :all

那么当我使用.json请求格式时,如何才能触发中间件,以便检测到并呈现JSON响应?


相关但主要未解决:How do I make OmniAuth Identity accept JSON post data?

0 个答案:

没有答案