繁体   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