Open iandunn opened 2 years ago
Related: wpcom_vip_two_factor_filter_caps()
from https://github.com/Automattic/vip-go-mu-plugins/blob/develop/two-factor.php
Rough idea:
Requiring a hardware key for the highest privilege group would prevent phishing. Most folks will never buy one though, so itβs important to not push it too hard. Maybe we give frequent contributors a coupon code so they can buy one on mercantile.w.org for the cost of shipping, or half price or something.
To facilitate this, we may want to reorganize capes.php
, so it has a group of functions like get_core_committers()
, get_meta_committers()
, get_wordcamp_deputies()
, etc. They'd return an array of usernames, and could be used for the existing watch/supes logic. They could also be used by this plugin to define who needs to have 2FA enabled.
The upstream PR needs a good amount of work IMO, so in this case it might be better if we build those parts here for the MVP, and contribute them upstream later. So this would do 3 things:
Some of this belongs in later iterations IMO. Some of the underlying code probably needs to be in place (eg to avoid bypassing 2FA for accounts that have already enabled it), but 100% opt-in should be fine for the initial MVP release.
ππ» I disabled the 2FA requirement in production environments in d00ba1b, and moved this issue to the Iteration 1 milestone.
Some of the underlying code probably needs to be in place (eg to avoid bypassing 2FA for accounts that have already enabled it)
d00ba1b made 2FA opt-in, but shouldn't prevent anyone from setting it up, or using it once it's enabled.
Core/Meta committers, super-admins, project leaders, committers to plugins w/ > 50k active installs, etc should be required to use 2FA of some kind. How strict we are should depend on what kind of access they have.
capes.php
to make it easier to work withRelated:
4