2016-01-09 26 views
1

我正在研究如何使用快速會話存儲針對OAuth 2提供程序進行身份驗證的用戶的訪問令牌,並向客戶端應用程序提供安全簽名的Cookie。快速會話與PassportJS之間的區別

根據我的理解,我可以在會話存儲服務器端的後續請求(例如mongodb)中檢索與Cookie關聯的令牌,然後我可以使用它來說明承載使用分離終點的請求中的授權標頭快線路線。

我遇到了PassportJS,並試圖弄清楚我是否需​​要在我的設置中使用它。

目前,我正在處理我的快速應用程序中的登錄POST請求,然後使用資源所有者密碼憑據授予類型請求流來發出訪問令牌請求。這工作正常,我正在接收訪問令牌以及來自提供者的刷新令牌和到期時間。

從我所知道的,PassportJS爲各種提供者提供身份驗證策略,但我不確定它會支持在我的情況下使用的授予類型。另外我已經在做請求和接收令牌的工作,所以不知道PassportJS對我來說有多少好處。

從閱讀快速會議文檔,我認爲這會給我所有我需要的,再加上我可以基於從api網關獲取的令牌到期時間來設置cookie到期時間。

我認爲PassportJS位於快速會話的上方,並且只是訪問快速生成的會話,是否正確?

回答

1

如果您已經實施了所需的身份驗證策略並且只需要存儲令牌來識別用戶並使其登錄,那麼Express-session就是您所需要的。 Express會話使用的會話cookie在讀取時被簽名和驗證等。

我認爲PassportJS位於快速會話的上方,並且只是訪問快速生成的會話,是否正確?

是的,這是正確的。然而,你不必使用會話與Passport.js(見「禁用會話」的Passport.js文檔中)

的Passport.js文檔(http://passportjs.org/docs)也澄清Passport.js簡直認證中間件:

它旨在服務於單一用途:驗證請求。在編寫模塊時,封裝是一種優點,所以Passport將所有其他功能委託給應用程序。

相關問題