Hello Deji.
Thanks for writing this article. This approach works really well for resetting passwords.
I learnt a technique from working with ASPNET Identity code, a while back.
Identity savee a SecurityStamp column in the users table, which will be set to a random Guid.
This SecurityStamp is then used as the secret for creating and validating tokens.
When this SecurityStamp is changed, all previously created tokens will no longer be validated.
The SecurityStamp value is changed after a password reset, among other reasons.
I hope this is helpful.