2014-04-24 32 views
0

我建立一個實時的Web應用程序具有角JS,JS快遞和護照JS。快遞/護照本地認證的多臺服務器

護照認證是主服務器上正常工作。我已經在express js中編寫了第二個日誌記錄服務器,並希望使用它來簡單接收來自角度js服務的http POST請求。這將使客戶端異常/錯誤被記錄下來,並可用於調試目的等。我不想引入依賴於登錄主服務器,以便在邏輯上分開。

我正在考慮引入Redis的商店護照/快遞會話,以便登錄服務器也受到認證和會話可以在兩個服務器共享。我不知道如何實現這個會話共享。

在這種情況下什麼是最好的做法是在兩個服務器進行身份驗證 - 我不希望用戶必須登錄兩次。

回答

0

你把它釘死了。 redis存儲是。不需要手動執行。讓兩臺服務器使用同一個redis服務器實例(即雲redis,只在一臺機器上本地安裝等)。 express會話有能力使用redis存儲(查看connect-redis包)。共享是自動完成的,因爲這兩個堆棧將與相同的Redis存儲進行通信。

它在細節,當用戶身份驗證的connect.sid Cookie會寫入到瀏覽器的方式。那麼隨後的請求(即到第二服務器)將傳送這個cookie。第二臺服務器會看到SID並查找並找到它並從redis中檢索相同的會話。

它的手離開執行。

+0

太好了,非常感謝。得到它的工作。在你的幫助下,我能夠釘住它。乾杯。 – user3391835