Инициализатор для драгоценного камня omniauth-shopify-oauth2 должен выглядеть следующим образом:
# config/initializers/omniauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
provider :shopify, ENV['SHOPIFY_API_KEY'], ENV['SHOPIFY_SHARED_SECRET']
end
Однако в нашем приложении Rails есть несколько разных брендов, которые предлагают одинаковыефункциональность.Во всем приложении request.domain
запроса определяет, к какому бренду вы обращаетесь (brand1.example.com
, brand2.example.com
и т. Д.).
Мы можем легко сохранять учетные данные бренда и перенаправлять пользователей напуть авторизации для конкретного бренда:
https://example.myshopify.com/admin/oauth/authorize?client_id=brand1&scope=read_orders,read_products&redirect_uri=https://brand1.example.com/auth/shopify/callback
Но я не могу понять, как у нас могут быть разные провайдеры для промежуточного программного обеспечения, выбранные на основе посещенного request.domain
.Есть идеи, как это настроить?