在多个域之间共享用户会话

4
我正在开发一个应用程序,可以通过不同的域名访问。根据访问的域名,它的行为会略有不同。我想要实现的是,一旦有人从一个域名登录,当从另一个域名访问时,他们不需要再次注册,应该自动登录。我猜测这将需要在域之间共享cookie数据。有人能指点我如何完成这个任务吗?我知道其他网站网络也可以做到这一点,例如http://graphicriver.net/http://audiojungle.net/,你只需登录一个帐户即可使用所有网站。
1个回答

4

config/initializers/session_store.rb

ProjectName::Application.config.session_store :cookie_store, key: '_ProjectName_session', 
                                                             domain: :all, 
                                                             tld_length: 2

然后你还需要清除cookies。

更新:我之前的回答是错误的,我忘记添加tld_length选项,因此会话在顶级域长度大于1的域之间不共享(myapp.local具有2个tld_length)。现在答案是正确的。


1
我收到了 ActionController::InvalidAuthenticityToken 错误。 - stereodenis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接