如何手动重新加载 Passport 快速会话存储

Posted

技术标签:

【中文标题】如何手动重新加载 Passport 快速会话存储【英文标题】:How to manually reload Passport express-session store 【发布时间】:2018-02-17 19:51:33 【问题描述】:

我有 Web 和移动客户端以及外部身份验证服务器。

我想通过提供来自客户端的缓存会话对象,成功地向 /loggedIn 路由后面的 passport.isAuthenticated() 发出请求。

我需要在调用 req.isAuthenticated() 之前重新加载会话。这是必要的,因为当来自客户端的请求到达 API 端点时,服务器的 req/store 没有正确填充——我们需要重新填充 REQ。

我以前做过,我记得需要单独加载护照/快速会话字段的细微差别。

【问题讨论】:

【参考方案1】:

使用客户端的护照会话重新加载 server.req 需要以下代码。会话不能用一行代码重新分配,必须像这样分开:

req.session.cookie = req.body.cookie;
req.session.passport = req.body.passport;
req.user = req.body.user;

【讨论】:

以上是关于如何手动重新加载 Passport 快速会话存储的主要内容,如果未能解决你的问题,请参考以下文章

Nodejs + Passport.js + Redis:如何在 Redis 中存储会话

快速会话与passport.js?

快速会话和 Cookie

使用 passport.js 交换/转储会话数据

如何存储firebase身份验证会话

快速护照会话不起作用