【问题标题】:Passport.js - use same token for different serverPassport.js - 对不同的服务器使用相同的令牌
【发布时间】:2018-01-04 17:05:32
【问题描述】:

我正在使用 passport.js 和 MongoDB 进行用户登录和 postAPI 身份验证。但是,每当我将节点服务器部署到另一个 AWS 实例时,我都需要完成注册过程、登录并获取新令牌。

我知道我可以从 MongoDB 中看到保存的用户及其 jwt 令牌。无论如何我可以复制令牌,并且在初始化新数据库时,默认保存相同的用户名-jwttoken 对,所以我可以使用相同的令牌字符串(不带密码,虽然它更容易完成)来传递护照认证测试?

谢谢!

【问题讨论】:

    标签: javascript node.js mongodb amazon-web-services passport.js


    【解决方案1】:

    听起来您的部署过程涉及拆除所有内容(应用程序和 MongoDB)并从零开始重建,可能使用一些种子数据,但没有 AWS 实例中的任何“实时”数据。这里有几个想法:

    1. 将所有数据从旧 MongoDB 实例复制到新实例,作为部署过程的一部分。这将确保用户出现在新实例上,并且(应该)确保用户不必再次经历注册过程。我对 MongoDB 不太熟悉,所以我不知道该怎么做,但我确信有办法 - 也许您可以将数据文件从一个复制到另一个?

    2. 使用两台服务器设置您的环境:MongoDB 服务器和应用程序服务器。通过这种方式,您可以拆除您的应用程序并仅为该应用程序创建一个新的 AWS 实例,而无需接触您的 MongoDB 服务器。只需更新新应用程序实例中的 MongoDB 连接配置,使其指向您一直在使用的同一个 MongoDB 服务器。

    如果您有一个非常小的应用程序而没有太多数据,则第一个选项更合适。如果您的数据库变得太大,您将在部署期间经历长时间的停机,因为您关闭应用程序,将数据从旧的 Mongo 实例中复制出来,将数据复制到新的 Mongo 实例中,然后将应用程序恢复原状起来。

    第二种选择可能更好,尽管它确实需要一些网络和保护 MongoDB 的知识,以便只有您的应用程序可以访问您的数据。

    【讨论】:

      猜你喜欢
      • 2017-09-07
      • 2017-07-04
      • 2018-12-31
      • 2018-03-03
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 2021-12-16
      • 1970-01-01
      相关资源
      最近更新 更多