Authentication 用户在忘记密码过程开始时登录,是否允许im进入? 我在执行“忘记密码”的过程中。我的身份验证是通过jwt访问令牌进行的。(用户登录,获取访问令牌,并将其与rest api调用一起发送)

Authentication 用户在忘记密码过程开始时登录,是否允许im进入? 我在执行“忘记密码”的过程中。我的身份验证是通过jwt访问令牌进行的。(用户登录,获取访问令牌,并将其与rest api调用一起发送),authentication,jwt,Authentication,Jwt,假设当前未登录的用户,单击“忘记密码”。 我为他创建了一些散列令牌,然后给他发送了一封邮件。 如果他点击它,我会解码,向他显示更改密码,并创建一个新的访问令牌,就像这是主要的想法,一切都很好 我的问题是针对这种情况: 用户单击忘记密码,输入他的邮件,我向他发送邮件,但他没有单击url并重置,而是通过他的密码登录 我应该让他登录吗?创建一个访问令牌,一切正常吗?重置已发送邮件中的令牌时(或者重置密码的令牌是否仍然有效?) 显示一些错误,如转到邮件并继续忘记密码过程 我的问题来自安全方面,因为可能一

假设当前未登录的用户,单击“忘记密码”。 我为他创建了一些散列令牌,然后给他发送了一封邮件。 如果他点击它,我会解码,向他显示更改密码,并创建一个新的访问令牌,就像这是主要的想法,一切都很好

我的问题是针对这种情况: 用户单击忘记密码,输入他的邮件,我向他发送邮件,但他没有单击url并重置,而是通过他的密码登录

  • 我应该让他登录吗?创建一个访问令牌,一切正常吗?重置已发送邮件中的令牌时(或者重置密码的令牌是否仍然有效?)
  • 显示一些错误,如转到邮件并继续忘记密码过程
  • 我的问题来自安全方面,因为可能一个用户认为他的密码被泄露了,然后如果我允许他进入,那么可能获得密码的人(不是用户)仍然可以登录/更改密码-而原始用户去邮件并认为他处理了这个过程

    我知道这可能是一种罕见的比赛状态,但我想避免它

    (另外,如果我让他进来,然后他单击已经发送的邮件的url,我是否应该重置它?在我的场景中,也许最好不要重置?或者如果用户两次单击“忘记密码”,我是否应该创建两个不同的令牌,只接受后面的令牌?)

    我真的很感激一个建议,如何处理这种情况,所有忘记密码相关的


    谢谢。

    我不是专家。这只是我的看法:

    “忘记密码”功能不应使旧密码无法使用,因为其他人可以调用此过程来阻止帐户所有者登录。 你可能要花相当长的时间才能意识到这封邮件,而且会引起很多头痛

    当有人在短时间内要求发送多封电子邮件时,他们应该都能正常工作。邮件服务器往往会花时间,而人类的耐心并不为人所知,因此他们会点击按钮两次,但会使用收件箱中的第一个链接

    这都是出于习惯

    现在谈谈安全:
    当有人登录时,电子邮件也应该保持活跃。正如你所提到的,恶意参与者可以登录,其他人可以阻止所有者以这种方式更改密码。

    我不是专家。这只是我的看法:

    “忘记密码”功能不应使旧密码无法使用,因为其他人可以调用此过程来阻止帐户所有者登录。 你可能要花相当长的时间才能意识到这封邮件,而且会引起很多头痛

    当有人在短时间内要求发送多封电子邮件时,他们应该都能正常工作。邮件服务器往往会花时间,而人类的耐心并不为人所知,因此他们会点击按钮两次,但会使用收件箱中的第一个链接

    这都是出于习惯

    现在谈谈安全: 当有人登录时,电子邮件也应该保持活跃。正如您所提到的,恶意参与者可能会登录,而其他用户会阻止所有者以这种方式更改密码