我正在构建密码重置功能。我正在使用passwordless向用户发送电子邮件,一旦他们点击它,他们就会得到一个临时会话。
对于一般登录,我使用PassportJs。
passportJs将req.user设置为数据库中的用户对象。这是首选的情况。
无密码将req.user设置为经过身份验证的用户的电子邮件地址。
我想更新req.user,以便它也是数据库中的用户对象。
我试过了:
一旦我使用无密码验证,我在数据库中查找用户并尝试设置:req.user = dbResponse
- 无济于事。
我已尝试req.login(dbResponse, (err) => { //handle error })
无效 - 它适用于此请求,但之后会重置为电子邮件。
我认为这与passport.serialize和passport.deserialize有关 - 虽然我不确定......
简单来说,如何永久更改当前会话的req.user
值?