多域登录

时间:2012-03-09 02:56:13

标签: node.js login multiple-domains docpad

我正在开发一个小node.js项目,虽然谷歌搜索很多,但我有点困惑,但也许你们中的一些人能够指出我再次走向这条路。

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

所有这些网站现在都将获得一个“登录模块”(也使用护照以Node.js编写)。从视觉上看,它看起来类似于Web-Kreation(Here演示)的优秀登录滑块。我的计划是使用nginx并将所有/ login-requests路由到login-app,这很正常。

这个问题与多个域以及它们的客户端实现相关。所有登录都使用相同的数据库。

我可以以某种方式同时使用它们,并从Login-Module(可以一直使用相同的域)创建会话cookie吗?

2 个答案:

答案 0 :(得分:2)

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

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

DocPad仍然被用来生成不同的网站(效果非常好 - 我知道我经常说这个,但是如果有一个很棒的软件出来,没有理由不提出它一次),静态的,所有静态内容都使用CDN传递给用户。

login-system是一个node.js-application,使用Redis作为唯一的数据库。它通过简单的iframe集成在DocPad在login.example.com上呈现的所有页面上。

答案 1 :(得分:1)

成功登录'login-app'后,您可以创建加密字符串,其中包含有关当前用户的信息。您可以将此字符串传递回get / post参数,并重定向到必需的域。只有“登录应用”和您的网站才能知道铭文密钥。您可以信任此加密数据。每次对同一用户的密钥不同时,必须确保。例如,您可以添加有关登录时间或随机的信息。解密数据后,您可以为特定域设置授权cookie。