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

NodeJS + Passport + sessions on multiples servers

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

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

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

Node+Passport.js + Sessions + multiple servers

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

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

据我所知,在 Node 世界中执行此操作的工具并不多。

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

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

基本上发生的事情是 Stormpath 托管单点登录域 (login.yoursite.com),Node 库处理将用户重定向到那里进行登录,然后将用户发送回他们要进行正确身份验证的任何地方。