生成代币并将其发送给用户

问题描述 投票:0回答:2

我正在尝试实现帐户激活和密码重置功能,我想回顾一下理论。 我目前有 2 个表,用户表和令牌表。用户注册。我将用户保存在数据库中,生成令牌并通过电子邮件发送。所以这就是我解决问题的方法:我正在创建一个 16 字节令牌并使用它来创建链接,例如

http://localhost:1200/api/activation/<token>
。但是,在数据库中,我存储散列令牌(使用 sha256 散列)。然后,理论上,当用户点击链接时,我对令牌执行 sha256,看看它是否与数据库中存储的匹配,对吧?我认为建议将哈希存储在数据库中的原因是因为如果攻击者有权访问数据库,他就无法冒充用户(它仍然需要原始令牌),对吗?

django security server backend
2个回答
0
投票

您可以使用 Simple JWT 为 Django REST Framework 提供 JSON Web Token 身份验证后端。它旨在通过提供一组保守的默认功能来涵盖 JWT 最常见的用例。它还旨在在所需功能不存在的情况下轻松扩展。

关注更多详情Django JWT Token


0
投票

我认为你的做法是正确的。关于对令牌进行哈希处理的观点是正确的。

我不知道如何生成令牌。你做得怎么样?

© www.soinside.com 2019 - 2024. All rights reserved.