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

时间:2017-03-20 00:43:18

标签: ruby-on-rails omniauth omniauth-facebook

我在顶级域名的Rails应用中使用了omniauth。

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

  • 我无法通过omniauth找到动态更改回调网址的方法

  • 保持原样,在回调中我可以看到引荐来源并知道它们来自哪个子域,然后将它们登录,但当我将它们重定向到它们的子域时,它们会被注销,因为会话已开启顶级域名。

如果重要的话,我使用omniauth-facebook gem:https://github.com/mkdynamic/omniauth-facebook

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

1 个答案:

答案 0 :(得分:0)

我不认为Omniauth允许您动态更改此设置,但您可以在所有子域之间共享会话,并继续使用重定向方法。只需将session_store更改为包含domain(如果需要,还可以tld_length - 更多详细信息here

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