In Laravel 5.8 you have this nice email verification feature out of the box.
However lets say the user registers an account, they receive an email verification email which they choose to ignore and later decide a password reset (note the password reset route doesn't have the email verified middleware) which fires a password reset notification. When they click on the password reset link, the user can reset their password and the application attempts to log them in but then redirects them back to verify their email since the user account dashborad route has the verify email middleware.
This authentocation flow is counter intuitive since when the user requested a password reset, that ought to have also verified their email account?
I'd like to know how you guys would tackle this process?
- With every password reset would you simply update the email_verified_at column if it is not verified?
- Do you force user to go through a double step process by forcing them to verify their email again after a password reset?
- Do you prevent a password reset at all by applying the verified middleware to the password reset routes, again this would require two step process before a user could fully access their account.
Any other options?