我在顶级域名的Rails应用中使用了omniauth。
现在我想在任何给定的子域上执行此操作(每个用户都可以动态分配自己的子域)。
我无法通过omniauth找到动态更改回调网址的方法
保持原样,在回调中我可以看到引荐来源并知道它们来自哪个子域,然后将它们登录,但当我将它们重定向到它们的子域时,它们会被注销,因为会话已开启顶级域名。
如果重要的话,我使用omniauth-facebook gem:https://github.com/mkdynamic/omniauth-facebook
处理此问题的最佳方式是什么?
答案 0 :(得分:0)
我不认为Omniauth允许您动态更改此设置,但您可以在所有子域之间共享会话,并继续使用重定向方法。只需将session_store
更改为包含domain
(如果需要,还可以tld_length
- 更多详细信息here)
Rails.application.config.session_store ... , domain: :all