HomePhabricator

Add a skeleton for configurable MFA provider types

Description

Add a skeleton for configurable MFA provider types

Summary:
Ref T13222. Ref T13231. See PHI912. I'm planning to turn MFA providers into concrete objects, so you can disable and configure them.

Currently, we only support TOTP, which doesn't require any configuration, but other provider types (like Duo or Yubikey OTP) do require some configuration (server URIs, API keys, etc). TOTP could also have some configuration, like "bits of entropy" or "allowed window size" or whatever, if we want.

Add concrete objects for this and standard transaction / policy / query support. These objects don't do anything interesting yet and don't actually interact with MFA, this is just skeleton code for now.

Test Plan:

Screen Shot 2018-12-28 at 5.53.25 PM.png (892×1 px, 155 KB)

Screen Shot 2018-12-28 at 5.53.27 PM.png (892×1 px, 205 KB)

Reviewers: amckinley

Reviewed By: amckinley

Subscribers: PHID-OPKG-gm6ozazyms6q6i22gyam

Maniphest Tasks: T13231, T13222

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

Details

Provenance
epriestleyAuthored on Dec 29 2018, 12:52 AM
epriestleyPushed on Jan 16 2019, 8:27 PM
Reviewer
amckinley
Differential Revision
D19935: Add a skeleton for configurable MFA provider types
Parents
rPb98d46ce7d28: Resurrect setup check for cluster.mailers
Branches
Unknown
Tags
Unknown
Tasks
T13222: 2018 Week 48-51 Bonus Content
T13231: Duo MFA Support
Build Status
Buildable 21544
Build 29363: Run Core Tests