【问题标题】:OmniAuth:Builder#call getting called on every requestOmniAuth:Builder#call 在每个请求上都会被调用
【发布时间】:2016-01-17 11:52:40
【问题描述】:

rails/omniauth gem 问题也是如此。我以一种非常普通的方式使用 OmniAuth,只是基本的 gem 安装,然后为我的应用程序添加我的 facebook 和 twitter 密钥,然后使用登录方法和我输入的路由创建一个全域身份验证控制器 match '/auth/:provider/callback' => 'omniauth#login', via: [:get, :post, :put, :delete] . 基本上所有其他omniauth 用户都会这样做。

我的问题是,当我开始分析我的应用在 new relic 上的性能时,我注意到对我的应用的每个请求(包括所有与omniauth 无关的请求)大约需要 13 毫秒通过 OmniAuthBuilder:call。 如果可能的话,我想避免这种情况,因为我的应用程序是一个内部 API,并且为每个请求添加 10 毫秒会减慢我所有的 api 调用。 我查看了 OmniAuth::Builder#call 的源代码,它似乎只是将调用传递给应用程序,但我不完全确定为什么会这样。 对于我的大多数请求,是否有人对如何跳过该步骤有任何想法?我知道这是一个棘手的问题,但 Stack 在过去一直很有帮助:D

【问题讨论】:

    标签: ruby-on-rails ruby omniauth


    【解决方案1】:

    原来我在 New Relic 中看到了这一点,因为 OmniAuth::Builder 是堆栈中的最后一个机架应用程序。因此,通过所有机架应用程序确实需要 13 毫秒。

    【讨论】:

      猜你喜欢
      • 2014-10-17
      • 2014-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 2012-07-30
      相关资源
      最近更新 更多