We should separate the Recovery codes from OATHAuth into a separate MFA authentication module and detach if from the TOTP method as WebAuthn does not have a (self) recovery method of its own.
See also: T218214#5474912
We should separate the Recovery codes from OATHAuth into a separate MFA authentication module and detach if from the TOTP method as WebAuthn does not have a (self) recovery method of its own.
See also: T218214#5474912
Let's do it in the other way, this has so many child/parent tasks, seems like a chore to move them.
So this needs:
Do we want to fix the recovery code part of T145915: OATHAuth OTP shouldn't be stored in cleartext in the DB as part of this?
Change #1182964 had a related patch set uploaded (by SBassett; author: SBassett):
[mediawiki/extensions/OATHAuth@master] Separate recovery codes into a separate 2FA module
Test wiki created on Patch demo by SBassett (WMF) using patch(es) linked to this task:
https://b72e3e9d3e.catalyst.wmcloud.org/w/
Change #1187874 had a related patch set uploaded (by SBassett; author: SBassett):
[mediawiki/extensions/WebAuthn@master] Define isSpecial() for WebAuthn module
Test wiki on Patch demo by SBassett (WMF) using patch(es) linked to this task was deleted:
Test wiki created on Patch demo by SBassett (WMF) using patch(es) linked to this task:
https://74054e2b29.catalyst.wmcloud.org/w/
Test wiki on Patch demo by SBassett (WMF) using patch(es) linked to this task was deleted:
Change #1187874 merged by jenkins-bot:
[mediawiki/extensions/WebAuthn@master] Define isSpecial() for WebAuthn module
Test wiki created on Patch demo by SBassett (WMF) using patch(es) linked to this task:
https://a0f99dc0d8.catalyst.wmcloud.org/w/
Test wiki on Patch demo by SBassett (WMF) using patch(es) linked to this task was deleted:
Change #1191180 had a related patch set uploaded (by SBassett; author: SBassett):
[mediawiki/extensions/WebAuthn@master] Add Recovery Codes support to WebAuthn add key page
Change #1191390 had a related patch set uploaded (by Reedy; author: Reedy):
[mediawiki/extensions/OATHAuth@master] Add maintenance script to migrate recovery tokens to their own device
Change #1182964 merged by jenkins-bot:
[mediawiki/extensions/OATHAuth@master] Separate recovery codes into a separate 2FA module
Change #1191180 merged by jenkins-bot:
[mediawiki/extensions/WebAuthn@master] Add Recovery Codes support to WebAuthn add key page
Just noting here that @Tgr made some additional review comments on change https://gerrit.wikimedia.org/r/1182964 after the merge
Thanks. There are going to be several cleanup-related tasks for this work that we hope to resolve within the near future, largely due to the clunky, dual-state of handling older TOTP-attached scratch tokens and the newer recovery codes. Eventually, we plan to migrate all Wikimedia project users with existing TOTP/scratch tokens to TOTP and separate recovery codes. Anyhow, I'll file a separate bug now to track the handful of recommendations @Tgr made on the change set.
Change #1191390 merged by jenkins-bot:
[mediawiki/extensions/OATHAuth@master] Add maintenance script to migrate recovery tokens to their own device
Change #1198162 had a related patch set uploaded (by Reedy; author: Reedy):
[mediawiki/extensions/OATHAuth@wmf/1.45.0-wmf.24] Add maintenance script to migrate recovery tokens to their own device
Change #1198163 had a related patch set uploaded (by Reedy; author: Reedy):
[mediawiki/extensions/OATHAuth@wmf/1.45.0-wmf.23] Add maintenance script to migrate recovery tokens to their own device
Change #1198162 merged by jenkins-bot:
[mediawiki/extensions/OATHAuth@wmf/1.45.0-wmf.24] Add maintenance script to migrate recovery tokens to their own device
Change #1198163 merged by jenkins-bot:
[mediawiki/extensions/OATHAuth@wmf/1.45.0-wmf.23] Add maintenance script to migrate recovery tokens to their own device