2015-01-07 31 views
1

我的後端/服務器正在調用需要驗證的遠程REST服務​​。流程如下:在NodeJS中存儲服務器端cookie的位置?

  1. 使用ExpressJS $ http模塊調用http://remote.service.com/api/login。此服務在給定成功身份驗證後返回有效的Cookie
  2. 使用ExpressJS $ http模塊調用http://remote.service.com/api/apples。和發送從步驟1

由於服務器檢索到的cookie被調用行apple服務很多次,我想避免每次驗證,並希望有關如何存儲步驟1中的cookie的一些小費,所以我可以重用它下一次。我應該使用node-redis還是ExpressJS cookie-parser?我應該如何處理cookie過期?

編輯: Cookie可以保存在一個全局變量中。見下面的評論。

+1

這是爲了迴應客戶的行爲嗎?或者更多是維護腳本。如果它只是一個維護腳本,您可以將cookie存儲在變量中,然後在後續迭代中,如果定義了所述變量,則不要請求新的cookie。 –

+0

遠程服務呼叫可以由用戶觸發,也可以按照預定的時間間隔運行。這意味着cookie不應該存儲在用戶會話 –

+0

而且,有沒有理由不能只在首次調用時請求cookie並將其存儲在變量中,並重復使用,直到它過期? –

回答

1

您需要實施保存會話令牌的會話存儲。雖然MongoDB本身可以做到這一點,但Redis是最好的選擇之一。如果您不使用會話存儲,那麼在集羣模型中擴展會遇到麻煩,因爲不同的應用服務器實例將無法識別另一臺服務器授權的用戶。

相關問題