1

一个名为omniauth-ebay与 Sinatra 兼容的 Rails gem 使用下面的代码来设置自己:

Rails.application.config.middleware.use OmniAuth::Builder do
       provider :ebay, "runame", "devid", "appid", "certid", "siteid", "apiurl"
    end

我知道omniauthomniauth-ebay基于它)gem 绝对与 Sinatra 兼容。请注意,这不是 eBay 或 gem 特定的问题,当然应该有一种在 Sinatra 中设置中间件的通用方法。

那么,如何更改上面的代码以使其与 Sinatra 一起使用?

4

1 回答 1

2

你只需要了解 Rails 对你隐藏了什么。Rack 中间件实际上直接安装在 Rack 内部。

在您的 config.ru 文件中:

use OmniAuth::Builder do
  provider :ebay, "runame", "devid", "appid", "certid", "siteid", "apiurl"
end

config.ru 是由 Rack 加载的,所以任何特定于 Rack 的东西都应该放在那里,除非你有某种系统可以把它放在其他地方。我怀疑 Sinatra 可能允许您#use从 Sinatra 应用程序内部调用,但 config.ru 仍然适用于所有情况。

于 2012-10-28T08:49:59.290 回答