Estoy pensando en la lógica de recuperación de mi contraseña para un sistema de comercio electrónico. Algunos antecedentes: las contraseñas se almacenan utilizando bcrypt, la recuperación de la contraseña implica el enlace de restablecimiento estándar, que luego se puede usar para restablecer la contraseña dentro de un período de tiempo limitado.
Me gustaría agregar un paso adicional antes de permitir que los clientes se reinicien, como pregunta de seguridad . Mi pregunta es ¿cuál es la mejor práctica, utilizando los estándares de seguridad actuales, para situaciones en las que el cliente no puede responder la pregunta de seguridad?
¿El sistema les solicita alguna otra información segura relacionada con su último pedido, como los últimos 4 dígitos de su tarjeta de crédito? (En caso afirmativo, ¿qué pasa si el cliente todavía no ha realizado un pedido?)
En mi situación, necesitaría todo el proceso para poder hacerlo en línea (aunque por teléfono, aunque me gustaría saber cuáles son los beneficios del teléfono). No queremos que los clientes no puedan realizar pedidos si no pueden comunicarse con el servicio de atención al cliente.