我的网站是Heroku上的mydomain.com,使用Devise身份验证。
我买了一个简短的url me.do,也指向我的同一个Heroku应用程序。
当用户在mydomain.com上登录时,我也需要他们在me.do上登录,这样当他们在mydomain.com上登录后转到me.do时,他们就不必再次登录了。
如何在mydomain.com和me.do上使用Devise共享身份验证会话?
发布于 2013-04-03 18:55:41
没有简单的方法可以跨域共享身份验证,因为身份验证通常绑定到cookie(会话),这些cookie只绑定到一个域,并且不能跨域访问。
您可以管理这样的东西的唯一方法是确保在登录时在两个域上都设置了cookies。您可以通过重定向循环来完成此操作:
为了确保这不是一个无穷无尽的循环,您必须在重定向中添加一些参数,以了解如何处理这种情况。
但如果有可能避免它,我会建议你不要实现这个。没有唯一的域是非常糟糕的做法。即使允许有www的域名和没有www的域名,也会给用户带来相当多的困惑,给开发者带来很多麻烦--在你的情况下,情况会更糟。
会话并不像正常情况下那样有用。设置额外的cookie或会话值将不再起作用(除非您每次都执行该循环)。在用户实际使用第二个域之前,他在那里的会话甚至可能已经过期(这取决于您的身份验证框架如何处理它)。这些只是你可能会遇到的一些问题。
https://stackoverflow.com/questions/15777341
复制相似问题