-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Disable U2F Interface unless already configured. #571
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dd32 This pull request is working fine. I left a minor request.
@dd32 do you want to pull this into 0.8.2 or leave for 0.9.0? |
Besides the merge conflicts @georgestephanis @TimothyBJacobs does this look good to you? |
Yeah I think this makes sense to me. |
This is pretty much a requirement to start removing U2F from the codebase. |
@kasparsd seems like resolving merge commits and then this should be good to merge? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I sometimes forget to click on "submit review" after adding the inline comments. Did these earlier in the morning today.
if ( | ||
! $security_keys && | ||
/** This filter is documented in class-two-factor-core.php */ | ||
apply_filters( 'two_factor_u2f_disabled', true ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we pass the user object to the filter to match the original?
if ( | ||
! Two_Factor_FIDO_U2F::get_instance()->is_available_for_user( $user ) && | ||
/** This filter is documented in class-two-factor-core.php */ | ||
apply_filters( 'two_factor_u2f_disabled', true ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here -- should we pass the $user
as the second argument to the filter?
What?
This PR disables the U2F / Fido interface, unless keys are already configured for the user.
Fixes #511
Why?
U2F / FIDO no longer works in modern browsers, until #423 is resolved having this provider enabled only causes confusion to end users (See #511)
Ideally, we wouldn't need to do this, as we've been assuming that #423 would be resolved, but 6+ months later it's no closer to being merged. I'd like to merge this into a 0.8.2.
Alternatives
Alternatively, the Javascript could be updated to detect FIDO/U2F not being viable, and displaying an error message about the browser not supporting it too..
How?
This simply disables the UI by:
If for some reason, it needs to be re-enabled a filter is included:
Testing Instructions
Screenshots or screencast
Changelog Entry
Deprecated: The FIDO/U2F integration has been hidden unless already configured. This is because modern browsers no longer support the standard, and we've not yet finalised our WebAuthn implementation.