代码之家  ›  专栏  ›  技术社区  ›  crayonne

如何在登录路径中设置标题,以便浏览器记住登录者

  •  0
  • crayonne  · 技术社区  · 3 年前

    我已经创建了一个用户登录后端,一切都很好,但当我登录到一个用户详细信息时,尽管是正确的,但我无法探索其他路线,因为用户没有被授权。如何将访问令牌保存到浏览器中,以便它记住? 这是下面的登录路径。

    router.post("/login", async (req, res) => {
    try {
        const oneUser = await users.findOne({
            username: req.body.username,
        });
    
        if (!oneUser) {
            return res.status(500).json("User is not in the database");
        }
    
        const oPassword = cj.AES.decrypt(
            oneUser.password,
            process.env.pass
        ).toString(cj.enc.Utf8);
    
        if (oPassword !== req.body.password) {
            return res.status(500).json("Password is incorrect");
        }
    
        const accessToken = jwt.sign(
            {
                id: oneUser._id,
                isAdmin: oneUser.isAdmin,
            },
            process.env.jwtToken,
            { expiresIn: "300" }
        );
    
        const { password, ...others } = oneUser._doc;
        res.status(200).json({ ...others, accessToken });
    
    } catch (err) {
        res.status(500).json(err);
    }
    

    });

    我在网上看到这样的东西。

    res.header("token", accessToken)
    
    1 回复  |  直到 3 年前
        1
  •  0
  •   alireza kargar    3 年前

    为此,您可以为该用户保存会话或响应令牌,并将其保存到客户端浏览器cookie或会话存储中。

    用于在节点js设置会话的应用程序签出链接如下 https://www.npmjs.com/search?q=session