多域login

我正在做一个小小的node.js-project,虽然google很多,但我还是有点困惑,但是也许你们中的一些人能够再次指向我。

DocPad (优秀的软件)生成了多个网站,并托pipe在不同的域中。

所有这些网站现在都会得到一个“login模块”(也是使用护照写在Node.js中)。 从外观上看,它与Web-Kreation( Here a demo)中出色的login滑块相似。 我的计划是使用nginx和路由所有/login请求到login应用程序,它工作正常。

这个问题与多个领域相关,而客户端的实现则全是这样。 所有login使用相同的数据库。

我可以以某种方式同时使用,并从login模块(它可以一直使用相同的域)创build会话Cookie?

我正在回答自己的问题以供参考,以防其他人遇到同样的问题。

最后,我通过一些不同的设置来解决我的问题。 使用每个页面的dns代替一个模块,我为所有站点使用一个中央login应用程序。 网站本身不需要访问任何个人信息,所以这不是一个问题。

DocPad仍然被用于生成不同的网站(作品非常出色 – 我知道我经常这样说,但是如果有一个出色的软件,没有理由不提及它)静态地,所有静态内容通过CDN传递给用户。

login系统是一个使用Redis作为唯一数据库的node.js应用程序。 它通过DocPad在login.example.com上呈现的所有页面上的简单iframe进行集成。

成功login“login – 应用程序”后,您可以创buildencryption的string与当前用户的信息。 您可以将此string传回get / post参数,并将其redirect到必要的域。 只有“login应用程序”和您的网站知道密码。 你可以信任这个encryption的数据。 有必要确保每次键对于同一个用户是不同的。 例如,您可以添加有关login时间或随机的信息。 解密数据后,您可以为特定域设置授权cookie。

Interesting Posts