MDL-78509 tool_mfa: Boarded the tool_mfa into core
commita63978340938a4774e9c463e1a211f430f1b6881
authorStevani Andolo <stevani.andolo@moodle.com>
Mon, 3 Jul 2023 04:54:39 +0000 (3 12:54 +0800)
committerStevani Andolo <stevani.andolo@moodle.com>
Tue, 29 Aug 2023 03:06:44 +0000 (29 11:06 +0800)
tree21d8c356d58e830c66255e627e78224fa61b6a56
parent9bfcd77d51bc36a1e2ef867e93fa84b0bd9938ec
MDL-78509 tool_mfa: Boarded the tool_mfa into core

In this patch the "commitid" of the "upstream" has been included in this
commit. Also, we did not include three factors, which are SMS, Security
Questions and Login Banner.

Co-authored-by: Peter Burnett <peterburnett@catalyst-au.net>
Co-authored-by: Misha Golenkov <golenkovm@gmail.com>
Co-authored-by: Brendan Heywood <brendan@catalyst-au.net>
Co-authored-by: Alex Morris <alex.morris@catalyst.net.nz>
Co-authored-by: Dan Marsden <dan@danmarsden.com>
Co-authored-by: Kevin Pham <kevinpham@catalyst-au.net>
Co-authored-by: Chris Pratt <tonyyeb@gmail.com>
Co-authored-by: Andrew Lyons <andrew@nicols.co.uk>
Co-authored-by: Tomo Tsuyuki <tomotsuyuki@catalyst-au.net>
Co-authored-by: Liam Kearney <https://github.com/LiamKearn>
Co-authored-by: Nicholas Hoobin <nicholashoobin@catalyst-au.net>
Co-authored-by: Scott Verbeek <scottverbeek@catalyst-au.net>
Co-authored-by: nomisge <https://github.com/nomisge>
Co-authored-by: Dmitrii Metelkin <dmitriim@catalyst-au.net>
Co-authored-by: Matthew Hilton <matthewhilton@catalyst-au.net>
Co-authored-by: Michael Geering <https://github.com/dryj>
Co-authored-by: alphadijkstra <https://github.com/alphadijkstra>
180 files changed:
admin/tool/mfa/.github/workflows/ci.yml [new file with mode: 0644]
admin/tool/mfa/README.md [new file with mode: 0644]
admin/tool/mfa/action.php [new file with mode: 0644]
admin/tool/mfa/amd/build/autosubmit_verification_code.min.js [new file with mode: 0644]
admin/tool/mfa/amd/build/autosubmit_verification_code.min.js.map [new file with mode: 0644]
admin/tool/mfa/amd/src/autosubmit_verification_code.js [new file with mode: 0644]
admin/tool/mfa/auth.php [new file with mode: 0644]
admin/tool/mfa/classes/event/user_deleted_factor.php [new file with mode: 0644]
admin/tool/mfa/classes/event/user_failed_mfa.php [new file with mode: 0644]
admin/tool/mfa/classes/event/user_passed_mfa.php [new file with mode: 0644]
admin/tool/mfa/classes/event/user_revoked_factor.php [new file with mode: 0644]
admin/tool/mfa/classes/event/user_setup_factor.php [new file with mode: 0644]
admin/tool/mfa/classes/local/admin_setting_managemfa.php [new file with mode: 0644]
admin/tool/mfa/classes/local/factor/fallback.php [new file with mode: 0644]
admin/tool/mfa/classes/local/factor/object_factor.php [new file with mode: 0644]
admin/tool/mfa/classes/local/factor/object_factor_base.php [new file with mode: 0644]
admin/tool/mfa/classes/local/form/global_form_manager.php [new file with mode: 0644]
admin/tool/mfa/classes/local/form/login_form.php [new file with mode: 0644]
admin/tool/mfa/classes/local/form/reset_factor.php [new file with mode: 0644]
admin/tool/mfa/classes/local/form/revoke_factor_form.php [new file with mode: 0644]
admin/tool/mfa/classes/local/form/setup_factor_form.php [new file with mode: 0644]
admin/tool/mfa/classes/local/form/verification_field.php [new file with mode: 0644]
admin/tool/mfa/classes/local/secret_manager.php [new file with mode: 0644]
admin/tool/mfa/classes/manager.php [new file with mode: 0644]
admin/tool/mfa/classes/plugininfo/factor.php [new file with mode: 0644]
admin/tool/mfa/classes/privacy/provider.php [new file with mode: 0644]
admin/tool/mfa/db/access.php [new file with mode: 0644]
admin/tool/mfa/db/install.xml [new file with mode: 0644]
admin/tool/mfa/db/subplugins.json [new file with mode: 0644]
admin/tool/mfa/db/subplugins.php [new file with mode: 0644]
admin/tool/mfa/db/upgrade.php [new file with mode: 0644]
admin/tool/mfa/example1 [new file with mode: 0644]
admin/tool/mfa/example2 [new file with mode: 0644]
admin/tool/mfa/factor/admin/classes/factor.php [new file with mode: 0644]
admin/tool/mfa/factor/admin/classes/privacy/provider.php [new file with mode: 0644]
admin/tool/mfa/factor/admin/lang/en/factor_admin.php [new file with mode: 0644]
admin/tool/mfa/factor/admin/settings.php [new file with mode: 0644]
admin/tool/mfa/factor/admin/version.php [new file with mode: 0644]
admin/tool/mfa/factor/auth/classes/factor.php [new file with mode: 0644]
admin/tool/mfa/factor/auth/classes/privacy/provider.php [new file with mode: 0644]
admin/tool/mfa/factor/auth/db/upgrade.php [new file with mode: 0644]
admin/tool/mfa/factor/auth/lang/en/factor_auth.php [new file with mode: 0644]
admin/tool/mfa/factor/auth/settings.php [new file with mode: 0644]
admin/tool/mfa/factor/auth/version.php [new file with mode: 0644]
admin/tool/mfa/factor/capability/classes/factor.php [new file with mode: 0644]
admin/tool/mfa/factor/capability/classes/privacy/provider.php [new file with mode: 0644]
admin/tool/mfa/factor/capability/db/access.php [new file with mode: 0644]
admin/tool/mfa/factor/capability/lang/en/factor_capability.php [new file with mode: 0644]
admin/tool/mfa/factor/capability/settings.php [new file with mode: 0644]
admin/tool/mfa/factor/capability/version.php [new file with mode: 0644]
admin/tool/mfa/factor/cohort/classes/factor.php [new file with mode: 0644]
admin/tool/mfa/factor/cohort/classes/privacy/provider.php [new file with mode: 0644]
admin/tool/mfa/factor/cohort/lang/en/factor_cohort.php [new file with mode: 0644]
admin/tool/mfa/factor/cohort/settings.php [new file with mode: 0644]
admin/tool/mfa/factor/cohort/version.php [new file with mode: 0644]
admin/tool/mfa/factor/email/classes/event/unauth_email.php [new file with mode: 0644]
admin/tool/mfa/factor/email/classes/factor.php [new file with mode: 0644]
admin/tool/mfa/factor/email/classes/form/email.php [new file with mode: 0644]
admin/tool/mfa/factor/email/classes/privacy/provider.php [new file with mode: 0644]
admin/tool/mfa/factor/email/email.php [new file with mode: 0644]
admin/tool/mfa/factor/email/lang/en/factor_email.php [new file with mode: 0644]
admin/tool/mfa/factor/email/renderer.php [new file with mode: 0644]
admin/tool/mfa/factor/email/settings.php [new file with mode: 0644]
admin/tool/mfa/factor/email/templates/email.mustache [new file with mode: 0644]
admin/tool/mfa/factor/email/version.php [new file with mode: 0644]
admin/tool/mfa/factor/grace/classes/factor.php [new file with mode: 0644]
admin/tool/mfa/factor/grace/classes/privacy/provider.php [new file with mode: 0644]
admin/tool/mfa/factor/grace/classes/task/revoke_expired_factors.php [new file with mode: 0644]
admin/tool/mfa/factor/grace/db/tasks.php [new file with mode: 0644]
admin/tool/mfa/factor/grace/lang/en/factor_grace.php [new file with mode: 0644]
admin/tool/mfa/factor/grace/settings.php [new file with mode: 0644]
admin/tool/mfa/factor/grace/tests/factor_test.php [new file with mode: 0644]
admin/tool/mfa/factor/grace/version.php [new file with mode: 0644]
admin/tool/mfa/factor/iprange/classes/factor.php [new file with mode: 0644]
admin/tool/mfa/factor/iprange/classes/privacy/provider.php [new file with mode: 0644]
admin/tool/mfa/factor/iprange/lang/en/factor_iprange.php [new file with mode: 0644]
admin/tool/mfa/factor/iprange/settings.php [new file with mode: 0644]
admin/tool/mfa/factor/iprange/version.php [new file with mode: 0644]
admin/tool/mfa/factor/nosetup/classes/factor.php [new file with mode: 0644]
admin/tool/mfa/factor/nosetup/classes/privacy/provider.php [new file with mode: 0644]
admin/tool/mfa/factor/nosetup/classes/task/delete_unusable_factors.php [new file with mode: 0644]
admin/tool/mfa/factor/nosetup/db/tasks.php [new file with mode: 0644]
admin/tool/mfa/factor/nosetup/lang/en/factor_nosetup.php [new file with mode: 0644]
admin/tool/mfa/factor/nosetup/settings.php [new file with mode: 0644]
admin/tool/mfa/factor/nosetup/version.php [new file with mode: 0644]
admin/tool/mfa/factor/role/classes/factor.php [new file with mode: 0644]
admin/tool/mfa/factor/role/classes/privacy/provider.php [new file with mode: 0644]
admin/tool/mfa/factor/role/lang/en/factor_role.php [new file with mode: 0644]
admin/tool/mfa/factor/role/settings.php [new file with mode: 0644]
admin/tool/mfa/factor/role/version.php [new file with mode: 0644]
admin/tool/mfa/factor/token/classes/event/token_created.php [new file with mode: 0644]
admin/tool/mfa/factor/token/classes/factor.php [new file with mode: 0644]
admin/tool/mfa/factor/token/classes/privacy/provider.php [new file with mode: 0644]
admin/tool/mfa/factor/token/lang/en/factor_token.php [new file with mode: 0644]
admin/tool/mfa/factor/token/settings.php [new file with mode: 0644]
admin/tool/mfa/factor/token/tests/factor_test.php [new file with mode: 0644]
admin/tool/mfa/factor/token/version.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/classes/factor.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/classes/privacy/provider.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/extlib/Assert/Assertion.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/extlib/Assert/AssertionFailedException.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/extlib/Assert/InvalidArgumentException.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/extlib/OTPHP/OTP.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/extlib/OTPHP/OTPInterface.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/extlib/OTPHP/ParameterTrait.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/extlib/OTPHP/TOTP.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/extlib/OTPHP/TOTPInterface.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/extlib/ParagonIE/ConstantTime/Base32.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/extlib/ParagonIE/ConstantTime/Binary.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/extlib/ParagonIE/ConstantTime/EncoderInterface.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/lang/en/factor_totp.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/settings.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/tests/factor_test.php [new file with mode: 0644]
admin/tool/mfa/factor/totp/thirdpartylibs.xml [new file with mode: 0644]
admin/tool/mfa/factor/totp/version.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/.gitignore [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/LICENSE [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/README.md [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/_test/client.html [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/_test/rootCertificates/apple.pem [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/_test/rootCertificates/globalSign.pem [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/_test/rootCertificates/googleHardware.pem [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/_test/rootCertificates/hypersecu.pem [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/_test/rootCertificates/mds/.gitkeep [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/_test/rootCertificates/microsoftTpmCollection.pem [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/_test/rootCertificates/solo.pem [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/_test/rootCertificates/yubico.pem [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/_test/server.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/composer.json [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/src/Attestation/AttestationObject.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/src/Attestation/AuthenticatorData.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/src/Attestation/Format/AndroidKey.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/src/Attestation/Format/AndroidSafetyNet.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/src/Attestation/Format/Apple.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/src/Attestation/Format/FormatBase.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/src/Attestation/Format/None.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/src/Attestation/Format/Packed.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/src/Attestation/Format/Tpm.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/src/Attestation/Format/U2f.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/src/Binary/ByteBuffer.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/src/CBOR/CborDecoder.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/src/WebAuthn.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/.extlib/WebAuthn/src/WebAuthnException.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/amd/build/login.min.js [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/amd/build/login.min.js.map [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/amd/build/register.min.js [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/amd/build/register.min.js.map [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/amd/build/utils.min.js [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/amd/build/utils.min.js.map [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/amd/src/login.js [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/amd/src/register.js [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/amd/src/utils.js [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/classes/factor.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/classes/privacy/provider.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/lang/en/factor_webauthn.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/settings.php [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/thirdpartylibs.xml [new file with mode: 0644]
admin/tool/mfa/factor/webauthn/version.php [new file with mode: 0644]
admin/tool/mfa/factor_report.php [new file with mode: 0644]
admin/tool/mfa/guide.php [new file with mode: 0644]
admin/tool/mfa/index.php [new file with mode: 0644]
admin/tool/mfa/lang/en/tool_mfa.php [new file with mode: 0644]
admin/tool/mfa/lib.php [new file with mode: 0644]
admin/tool/mfa/patch/MOODLE_35_STABLE.diff [new file with mode: 0644]
admin/tool/mfa/patch/MOODLE_36_STABLE.diff [new file with mode: 0644]
admin/tool/mfa/patch/MOODLE_37_STABLE.diff [new file with mode: 0644]
admin/tool/mfa/patch/TOTARA_16.patch [new file with mode: 0644]
admin/tool/mfa/renderer.php [new file with mode: 0644]
admin/tool/mfa/reset_factor.php [new file with mode: 0644]
admin/tool/mfa/settings.php [new file with mode: 0644]
admin/tool/mfa/styles.css [new file with mode: 0644]
admin/tool/mfa/templates/guide_link.mustache [new file with mode: 0644]
admin/tool/mfa/tests/admin_setting_managemfa_test.php [new file with mode: 0644]
admin/tool/mfa/tests/manager_test.php [new file with mode: 0644]
admin/tool/mfa/tests/object_factor_base_test.php [new file with mode: 0644]
admin/tool/mfa/tests/plugininfo_factor_test.php [new file with mode: 0644]
admin/tool/mfa/tests/secret_manager_test.php [new file with mode: 0644]
admin/tool/mfa/tests/tool_mfa_testcase.php [new file with mode: 0644]
admin/tool/mfa/user_preferences.php [new file with mode: 0644]
admin/tool/mfa/version.php [new file with mode: 0644]