多个服务器上的NodeJS + Passport +会话

时间:2015-02-18 09:58:31

标签: node.js mongodb session mongoose passport-local

我的项目需要使用我在主服务器上输入的相同护照会话(登录名+密码)。会话必须用于自动将我连接到另一台服务器(当我点击链接时)。

示例:我登录到我的主服务器,我有一个所有其他服务器主机名的链接列表。当我点击链接时,我必须自动登录。

我找到了这些解决方案,但我不明白它是如何工作的。 我必须对其他服务器做什么才能抓住主服务器提供的护照会话并自动连接我?

Node+Passport.js + Sessions + multiple servers

1 个答案:

答案 0 :(得分:0)

听起来你想要的是单点登录。这种方式的工作方式是您通常会登录login.mydomain.com之类的域,然后重定向(经过身份验证)到另一个域。

身份验证通常以这种方式工作的方式是使用包含身份验证信息的JWT(JSON Web令牌)。

在Node世界中,我所知道的工具并不多。

我唯一熟悉的是付费服务器(Stormapth)。完全披露:我在那里工作。

Stormpath的工作方式是你可以使用我们的Express.js libraryhttps://docs.stormpath.com/nodejs/express/product.html#use-hosted-login

基本上发生的事情是Stormpath托管域上的单一登录(login.yoursite.com),并且Node库处理用户重定向以进行登录,然后将用户发回到他们正确认证的任何地方。