为什么将 email-verification-token/secret-code 存储在数据库中而不是数组中? NodeJs、Express、打字稿
Why store email-verification-token/secret-code in database and not array? NodeJs, Express, Typescript
我正在构建一个需要注册和登录的应用程序,所以我需要在注册后验证邮箱。创建用户后,我想在 get 请求中发送带有 jwt 的激活邮件。成功确认电子邮件和令牌未过期后,用户已登录。
我的问题是为什么我不应该将本地 jwt 存储在数组中并进行验证
请求检查令牌是否有效,然后将其从数组中删除并设置用户注册状态为真?
将token存放在数据库中的某个table中,验证成功后又将其删除,对我有什么好处吗?或者我根本不应该删除它吗?
const token = jwt.sign(
{
email: loadedUser.email,
userId: loadedUser._id.toString(),
},
"somesupersecretkey",
{ expiresIn: "1h" }
);
res.status(200).json({ token: token, userId: loadedUser._id.toString() });
无需将token存储在数据库中的某个table中,验证成功后还可以设置其超时...
我正在构建一个需要注册和登录的应用程序,所以我需要在注册后验证邮箱。创建用户后,我想在 get 请求中发送带有 jwt 的激活邮件。成功确认电子邮件和令牌未过期后,用户已登录。
我的问题是为什么我不应该将本地 jwt 存储在数组中并进行验证 请求检查令牌是否有效,然后将其从数组中删除并设置用户注册状态为真?
将token存放在数据库中的某个table中,验证成功后又将其删除,对我有什么好处吗?或者我根本不应该删除它吗?
const token = jwt.sign(
{
email: loadedUser.email,
userId: loadedUser._id.toString(),
},
"somesupersecretkey",
{ expiresIn: "1h" }
);
res.status(200).json({ token: token, userId: loadedUser._id.toString() });
无需将token存储在数据库中的某个table中,验证成功后还可以设置其超时...