JSON Web令牌(JWT)作为电子邮件激活的url

JSON Web令牌(JWT)作为电子邮件激活的url,jwt,Jwt,将JWT作为电子邮件中的激活url有多安全 例如: 单击链接以激活您的帐户 报纸上说: url中JWT令牌的用例包括: 帐户验证-当你在某人注册你的网站后给他发电子邮件时 重新设置密码-确保重新设置密码的人可以访问属于该帐户的电子邮件 这两个都是一次性使用令牌(单击后过期)的良好候选 所以,是的。只需确保每封电子邮件只能激活一次(不要使用示例中可怕的“机密”密钥,如果签名可能是伪造的,则可以绕过验证)。使用无状态令牌(如JWT)是安全的,只要您用于签名的密钥和验证方式是安全的。但是在您的密码

将JWT作为电子邮件中的激活url有多安全

例如: 单击链接以激活您的帐户

报纸上说:

url中JWT令牌的用例包括:

  • 帐户验证-当你在某人注册你的网站后给他发电子邮件时
  • 重新设置密码-确保重新设置密码的人可以访问属于该帐户的电子邮件
这两个都是一次性使用令牌(单击后过期)的良好候选


所以,是的。只需确保每封电子邮件只能激活一次(不要使用示例中可怕的“机密”密钥,如果签名可能是伪造的,则可以绕过验证)。

使用无状态令牌(如JWT)是安全的,只要您用于签名的密钥和验证方式是安全的。但是在您的密码重置URI…

中使用JWTS作为AuthTog之前,您还应该考虑某些附加的方面。 由于您无法使特定JWT失效(不再次保持状态),并且到期时间还不够(在这种特定情况下),因此您基本上希望JWT成为通常所知的一次性或一次性令牌。原因是,您可能不希望一个密码重置链接被多次用于重置密码,因为这将允许潜在攻击者(通过不断更改密码)完全锁定用户


我在这里描述了它的工作原理:-基本上,您需要将服务器端的某种状态(在您的情况下,例如用户密码的散列)转换为HMAC密钥,并使用该密钥对特定于用户的令牌进行签名。这将导致更改密码后令牌验证失败…

此特定令牌不安全,因为您的签名机密很容易被猜到。此外,电子邮件地址不也应该由JWT的一部分进行验证吗?或者是否存在其他唯一的用户标识符?是“公司:Toptal”?好吧,这只是一个例子,我甚至不知道解码的数据。如果签名秘密很强怎么办?jwt作为链接安全吗?这里提到的内容确实让我感到困惑。假设电子邮件地址和唯一用户标识符在jwtRelated中:我阅读了它们并提出了问题。它怎么能安全呢?你能解释一下吗?在点击/访问激活url后,您如何使jwt令牌失效?在电子邮件中公开签名是否安全?使令牌失效:您的帐户数据库将知道电子邮件已经过验证。因此,令牌不能被使用两次。安全性:这完全取决于这样一个事实:没有人可以伪造令牌(没有收到电子邮件)。只有当你使用真正的秘密签名密钥时,这才有效。但它确实起作用了。您还应该使这些令牌过期(对于电子邮件激活,一小时应该足够了,如果没有,则允许重新发送)。在用户表中,一旦访问链接,我将“is_active”更改为True。但代币仍然有效。网站提到一旦链接被访问,令牌就会失效。一旦链接被访问,我如何使JWT令牌立即无效?