【问题标题】:Share session between two node apps在两个节点应用程序之间共享会话
【发布时间】:2016-10-11 22:11:44
【问题描述】:

我有一个使用 passport-local-mongoose 进行身份验证的节点应用程序。我有第二个节点应用程序,它在第一个应用程序的 iframe 中提供。我想用第一个应用程序的相同会话保护第二个应用程序中的快速路由,以便用户只登录一次,但第二个应用程序中的快速路由仍然受到保护。有没有办法让两个节点应用程序共享会话?或者也许还有另一种方法?

谢谢。

【问题讨论】:

标签: node.js mongodb passport.js


【解决方案1】:

我能想到的最简单的方法是将会话简单地存储在 MongoDB 中。然后,您的第二个应用程序的中间件可以针对同一数据库检查请求中传递的会话。这种方法的缺点是您必须在 2 个地方实现一些相同的身份验证逻辑。

也许更好的是,您可以构建第三个专门处理身份验证的微服务。这基本上会包装您的会话存储并将身份验证逻辑集中在一个地方。然后,其他 2 个应用程序都将使用此服务。这是我个人仍在学习的一个领域,这个网站很有帮助:https://dejanglozic.com/2014/10/07/sharing-micro-service-authentication-using-nginx-passport-and-redis/

【讨论】:

  • 我使用 express 作为我的中间件,目前我可以在两个地方使用相同的身份验证逻辑。您能否发布一些示例代码?我现在正在尝试使用 connect-mongo
猜你喜欢
  • 1970-01-01
  • 2012-11-17
  • 1970-01-01
  • 1970-01-01
  • 2016-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多