Skip validations when setting direct_otp #179
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If there is a validation error on the user model, it can lead to some unpredictable 2FA behavior. For example, the
send_new_otp
method will send a new OTP code to the user even if it failed to update thedirect_otp
column in the database. When this happens, the new code does not work for the user.Looking at other devise modules, they tend to skip validations when saving data as well:
It seems like generating the
direct_otp
token is similar to a lot of these other cases where validation is skipped.This should also fix #170