使用快速会话和JWT

时间:2018-12-13 08:53:02

标签: node.js express authorization jwt

在我正在构建的项目中,我有很多关于快速会话和JWT的问题。

我有一个Express API服务器,我想使用某种API密钥进行保护,以确保只有授权的应用程序才能访问我的数据。 JWT可能会完成工作。但是,我还需要对用户进行身份验证,并限制他们使用express-session访问数据的某些部分(例如,基于角色的权限)。

前端服务器将是Next.js实例,它将保存并使用cookie进行快速会话。该会话将存储在MongoDB实例中。

我可以在同一项目中使用两种身份验证方法吗?会安全吗?有没有更简单的方法可以做到这一点?如何实现权限?

任何帮助和提示将不胜感激。

1 个答案:

答案 0 :(得分:1)

JWT和Express-Session都完成相同的任务。不同之处在于浏览器不允许通过javascript访问仅HTTP cookie。然后,它们都用于同一端。

jwt应该与用户的会话有关,因此用户权限才是重要的。这些可以在数据库中实现并与用户相关。他是否具有此权限,或者他的角色是否具有此权限,这就是您要放置在路由上的中间件。

如果要进行快速会话,我个人会采用相同的方法。