Ruby on rails 如何在通配符子域上执行omniauth

Ruby on rails 如何在通配符子域上执行omniauth,ruby-on-rails,omniauth,omniauth-facebook,Ruby On Rails,Omniauth,Omniauth Facebook,我正在让omniauth在顶级域上的Rails应用程序中工作 现在我想在任何给定的子域上执行此操作(每个用户都会动态分配自己的子域) 我找不到使用omniauth动态更改回调url的方法 保持原样,在回调中,我可以看到推荐人,知道他们来自哪个子域,并将他们登录,但当我将他们重定向到子域时,他们已注销,因为会话位于顶级域 我正在使用omniauth facebook gem,如果这很重要: 处理此问题的最佳方法是什么?我认为Omniauth不允许您动态更改此方法,但您可以在所有子域之间共享会话

我正在让omniauth在顶级域上的Rails应用程序中工作

现在我想在任何给定的子域上执行此操作(每个用户都会动态分配自己的子域)

  • 我找不到使用omniauth动态更改回调url的方法

  • 保持原样,在回调中,我可以看到推荐人,知道他们来自哪个子域,并将他们登录,但当我将他们重定向到子域时,他们已注销,因为会话位于顶级域

我正在使用omniauth facebook gem,如果这很重要:


处理此问题的最佳方法是什么?

我认为Omniauth不允许您动态更改此方法,但您可以在所有子域之间共享会话,并继续使用重定向方法。只需更改您的
会话存储
以包括
(以及
tld\u长度
,如果需要-更多详细信息)

Rails.application.config.session_store ... , domain: :all