HomePhabricator

Allow MFA providers to be deprecated or disabled

Description

Allow MFA providers to be deprecated or disabled

Summary: Ref T13222. Providers can now be deprecated (existing factors still work, but users can't add new factors for the provider) or disabled (factors stop working, also can't add new ones).

Test Plan:

  • Enabled, deprecated, and disabled some providers.
  • Viewed provider detail, provider list.
  • Viewed MFA settings list.
  • Verified that I'm prompted for enabled + deprecated only at gates.
  • Tried to disable final provider, got an error.
  • Hit the MFA setup gate by enabling "Require MFA" with no providers, got a more useful message.
  • Immediately forced a user to the "MFA Setup Gate" by disabling their only active provider with another provider enabled ("We no longer support TOTP, you HAVE to finish Duo enrollment to continue starting Monday.").

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13222

Differential Revision: https://secure.phabricator.com/D20031

Details