2017-07-28 45 views
0

我使用passport.js和MongoDB進行用戶登錄和postAPI認證。但是,無論何時將我的節點服務器部署到另一個AWS實例,我都需要通過註冊過程,進行登錄並獲取新令牌。Passport.js - 爲不同的服務器使用相同的令牌

我知道我可以從MongoDB中看到保存的用戶和他們的jwt令牌。無論如何,我可以複製令牌,並且在初始化新數據庫時,默認情況下保存相同的username-jwttoken對,以便我可以使用相同的令牌字符串(不帶密碼,但更容易完成)來傳遞護照認證測試?

謝謝!

回答

2

聽起來好像您的部署過程涉及到將零件(應用程序和MongoDB)從零開始重建,可能還有一些種子數據,但沒有任何AWS實例中的「實時」數據。這裏有幾個想法:

  1. 從舊的MongoDB實例中的所有數據複製到新的作爲部署過程的一部分。這將確保用戶出現在新實例上並(應該)確保用戶不必再次通過註冊過程。我對MongoDB不太熟悉,所以我不知道該怎麼做,但我確信有一種方法 - 也許你可以將數據文件從一個拷貝到另一個?

  2. 使用兩臺服務器設置您的環境:一臺MongoDB服務器和一臺應用服務器。通過這種方式,您可以拆卸應用程序併爲應用程序創建一個新的AWS實例,而無需觸摸您的MongoDB服務器。只需更新新應用程序實例中的MongoDB連接配置,以指向您一直使用的同一個MongoDB服務器。

如果您的應用程序非常小而沒有太多數據,則第一種選擇更適合。如果數據庫變得太大,在部署應用程序時會遇到長時間的停機時間,請將數據從舊的Mongo實例中複製出來,將數據複製到新的Mongo實例中,然後將應用程序恢復向上。

第二個選擇可能是更好的選擇,雖然它確實需要一些關於網絡和保護MongoDB的知識,以便只有您的應用程序才能訪問您的數據。

相關問題