|
|
|
|
|
by richardwhiuk
2730 days ago
|
|
You probably want to request a reset. When a reset is requested, you should then allow a grace period - possibly up to a month for the reset to be cancelled. You should notify the user via email/out of band mechanism that a reset has been requested. On each login you should prompt that the reset is ongoing and that it can be cancelled. Finally after a month, you revoke the 2FA and allow a new device to be activated. Or alternatively/as well, you require that the user sets up a new account. You may allow them to merge this account after the reset has completed. Fundamentally the question is "if a user took over someone else's account what the impact be?" On reset, you may want to delete any sensitive recoverable data - e.g. Credit card details or Passport info. |
|
Set a reasonable time period (a month seems like really long, I was thinking more along the lines of a week), use every piece of information you have to attempt to alert the user multiple times that a reset is happening (email, text, in-app alerts, etc...), make sure that each "alert" gives the user a one-click way of stopping the reset, and when the reset is successful, delete all information that is easily replaceable (like saved credit cards or addresses, or as much personal information that you can get rid of).