Node.js 在多个网站之间共享令牌以防止在每个网站中登录 让我们考虑一下我有2个网站A& B。现在我已经登录了一个使用我的凭据和令牌已经生成。我已将令牌和客户端IP以及令牌的到期日存储到DB中。现在a中有一个按钮,它会将我重定向到B。我希望B使用相同的令牌进行身份验证,这样我就不必手动登录到B

Node.js 在多个网站之间共享令牌以防止在每个网站中登录 让我们考虑一下我有2个网站A& B。现在我已经登录了一个使用我的凭据和令牌已经生成。我已将令牌和客户端IP以及令牌的到期日存储到DB中。现在a中有一个按钮,它会将我重定向到B。我希望B使用相同的令牌进行身份验证,这样我就不必手动登录到B,node.js,express,authentication,session,token,Node.js,Express,Authentication,Session,Token,此外,我不能每次都跳过B的登录页面,因为此时可能需要直接登录到B(没有A) 因此,一旦B仅通过A启动,我如何获取令牌。听起来您正试图实现SSO(单点登录)流。假设我们有两个网站“site-a.com”和“site-b.com”。构建SSO有多种方法,最简单的方法是使用一个共享的“网关点”(我们称之为“SSO site.com”),它实现以下流程: 用户来到站点A 它们被重定向到SSO网关 SSO网关检查令牌。如果找到,它会将用户重定向回站点A。如果用户需要登录,则会将其重定向到登录页面,然后再

此外,我不能每次都跳过B的登录页面,因为此时可能需要直接登录到B(没有A)


因此,一旦B仅通过A启动,我如何获取令牌。

听起来您正试图实现SSO(单点登录)流。假设我们有两个网站“site-a.com”和“site-b.com”。构建SSO有多种方法,最简单的方法是使用一个共享的“网关点”(我们称之为“SSO site.com”),它实现以下流程:

  • 用户来到站点A
  • 它们被重定向到SSO网关
  • SSO网关检查令牌。如果找到,它会将用户重定向回站点A。如果用户需要登录,则会将其重定向到登录页面,然后再重定向回站点A
  • 到站点B的任何链接都将使用户通过相同的“网关”(与上述相同的身份验证流程)
网关可以通过多种方式控制站点之间的流量,这完全取决于您正在构建的业务逻辑。这里的关键部分是,站点导航是通过一个中央网关强制进行的,该网关确保应该登录的用户只登录一次


希望有帮助

在从a重定向到B时,是否有任何方法可以将令牌作为查询参数发送。在B中,我可以通过相同的令牌登录?是的,但是。。。查询参数很容易被检测和欺骗,因此任何具有略高于平均水平技能的用户都可以找到令牌并使用它做任何他们想做的事情。如果您仍然希望将其作为查询字符串参数发送,最简单的方法是将click handler附加到链接,并处理您自己的重定向逻辑(带有额外的参数、标题等),即使用户检测到令牌并对其进行修改,我已在重定向网站(站点B)中重新检查令牌的验证。因此,如果有人修改它,该令牌将变得无效。因此,用户将无法在B中导航&因此将被重定向到B的登录页面