簡體   English   中英

Node.js如何在同一個應用程序中與子域共享passportjs登錄會話?

[英]Node.js how to share passportjs login sessions with a subdomain in the same app?

所以我有一個應用程序,我正在使用npm子域,因此常規快速路由偽造為子域路由。

// use fake subdomain routes
app.use(subdomain({ base : 'localhost', removeWWW : true }));

// this looks like app.localhost:9200/login
router.get('/subdomain/app/login', login.login);

// then this posts to app.localhost:9200/app_login
router.post('/subdomain/app/app_login', passport.authenticate('local-login', {
      successRedirect : '/app_login_success',
      failureRedirect : '/app_login_failure',
      failureFlash : true
}));

當我通過app.localhost:9200登錄時,我必須重新登錄localhost:9200

登錄一次並在兩個路由中激活會話有哪些選項和解決方案?

您可以使用JSON Web令牌(JWT),這是一種處理本地身份驗證的相當標准的方法。 實質上,您將創建一個包含用戶憑據(例如ID)的編碼令牌,該令牌將在一段時間后自動過期。 您的兩台服務器都可以解碼此令牌。 然后在您的前端,您只需要在發送到任一域時將標頭設置為包含此標記。 請參閱JWT NPM模塊 ,您可以在Passport旁邊找到無數的指南。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM