【发布时间】:2021-03-08 18:22:09
【问题描述】:
我有一个名为“test”的 mongoDB Atlas 数据库,我只处理后端。
有 2 个集合:酱汁和用户。 (是的,是关于酱汁的)
my database "test" with 2 collections
我需要确保只有在数据库中创建酱汁的用户才能删除该酱汁。
从前端,在删除请求中,我确实收到了两件事:一个令牌(用 jwt 制作),以及要删除的酱汁的 id。
通过酱汁的 id,我可以找到创建酱汁的用户,这意味着我也可以在用户集合中找到用户。对象用户有 2 个属性:电子邮件和密码(使用 bcrypt 散列)。
in the sauce object, we can find the id of the user who did create the sauce: userId
here is a user object in the users collection
所以我从前端获得了令牌 (req.body.token) 和产品的 id (req.params.id)。
有了这个:我确实找到了创建对象的用户的 ID。
所以,我需要在令牌和 userId 之间建立一个链接。
我尝试使用 jwt.sign 检查 userId 的值,并将其与收到的令牌进行比较。问题:这个令牌在每次连接时都会改变,所以这不是正确的做法......
所以我的问题是:从后端(我无法触摸前端)当我只有要删除的对象的 ID 和令牌时,我应该如何识别用户?
【问题讨论】:
标签: mongodb api jwt token backend