Ruby on rails OmniAuth.config.full\u主机的多个值
我正在尝试在我的SaaS平台上配置Omniauth并设计使用Stripe和LinkedIn策略 作为平台的一部分,每个客户端都可以拥有自己独特的域 我可以让LinkedIn在我的客户端网站上工作,但是Stripe要求你在他们的管理界面中列出所有可能的回调URL。为了解决这个问题,我通过Ruby on rails OmniAuth.config.full\u主机的多个值,ruby-on-rails,devise,omniauth,stripe-payments,Ruby On Rails,Devise,Omniauth,Stripe Payments,我正在尝试在我的SaaS平台上配置Omniauth并设计使用Stripe和LinkedIn策略 作为平台的一部分,每个客户端都可以拥有自己独特的域 我可以让LinkedIn在我的客户端网站上工作,但是Stripe要求你在他们的管理界面中列出所有可能的回调URL。为了解决这个问题,我通过OmniAuth.config.full\u host将www.myapp.com设置为回调url,但这意味着我有一个静态回调url,然后通过状态参数传递客户端ID 这对Stripe有效,但是LinkedIn开始失
OmniAuth.config.full\u host
将www.myapp.com设置为回调url,但这意味着我有一个静态回调url,然后通过状态
参数传递客户端ID
这对Stripe有效,但是LinkedIn开始失败,因为回调域不再匹配原始请求
是否有办法仅为某些策略(即仅条带)设置
OmniAuth.config.full_host
?config/initializers/OmniAuth.rb
OmniAuth.config.full_host = lambda do |env|
if env['omniauth.strategy'].is_a?(OmniAuth::Strategies::Stripe)
#return url for stripe
else
#return url for others
end
end
另一个选项可能是覆盖
OmniAuth::Stragies::Stripe#callback_url
#config/initializers/stripe.rb
module OmniAuth
module Strategies
class Stripe
def full_host
#return url for stripe
end
end
end
end
原始的OmniAuth::Strategy#full_host
方法将用于其他策略