gpt4 book ai didi

node.js - JWT认证时如何区分用户类型

转载 作者:搜寻专家 更新时间:2023-10-31 23:00:08 26 4
gpt4 key购买 nike

在我的应用程序(Mongo、Express、Node、React)中,我目前正在使用 JSON Web token 对从客户端到服务器的用户进行身份验证。但是,我希望能够让两种不同类型的用户访问应用程序的不同部分。最好的方法是什么?我目前将两种类型的用户保存在同一个模型中,并使用一个 bool 值来区分它们。澄清一下,不同类型的用户将能够访问不同的 API 以及客户端应用程序的不同部分。

是否有处理此问题的软件包? JWT 功能?

最佳答案

您可以通过两种方式执行此操作:

  1. 在对 JWT token 进行编码时,还要对用户角色进行编码。
  2. 例如,当您解码 JWT token 并获取用户 ID 时,查询您的数据存储以获取该用户的角色。

大多数包都允许您定义要编码的内容。

提示:

  1. 始终为您的 token 设置到期时间。它只是一个存储在智威汤逊。当您解码 token 时,只需确保日期是将来,如果不拒绝访问。

  2. 创建一个检查用户角色的中间件。例如:

router.get('/restricted-area', requiresAdmin, (req, res, next) => {
// only admin can access this
});

function requiresAdmin(req, res, next) {
if(req.user.admin !== true) {
res.status(401).end();
} else {
next();
}
}

关于node.js - JWT认证时如何区分用户类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45201363/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com