Admin tools: Multi-factor authentication

Maintained by Picture of Catalyst ITCatalyst IT, Picture of Brendan HeywoodBrendan Heywood, Picture of Peter BurnettPeter Burnett, Picture of Mikhail GolenkovMikhail Golenkov
This is a Moodle plugin which adds Multi-Factor authentication (MFA), also known as Two-factor authentication (2FA) on top of your existing chosen authentication plugins.
230 sites
8 fans
Current versions available: 1

This is a Moodle plugin which adds Multi-Factor authentication (MFA), also known as Two-factor authentication (2FA) on top of your existing chosen authentication plugins.

Why another MFA plugin for Moodle?

There are other 2FA plugins for moodle such as:

This one is different because it is NOT a Moodle authentication plugin. It leverages new API's that Catalyst specifically implemented in Moodle Core to enable plugins to augment the login process instead of replacing it. This means that this MFA plugin can be added on top of any other authentication plugin resulting in a much cleaner architecture, and it means you can compose a solution that does everything you need instead of compromising by swapping out the entire login flow.

See this tracker and the dev docs for more info:

The other major difference is that we support multiple authentication factor types as sub plugins, eg IP Range, Email, TOPT and in future others such as SMS or hardware tokens or anything else as new sub-plugins. They can be flexible configured so that different combinations of factors are considered enough.

Flexible Configuration

The MFA has multiple sub-plugins for each type of factor. Different factors can be combined and checked in a specific order. See the plugin readme for the full details:

For more information, consult the readme:


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5


Picture of Catalyst IT
Catalyst IT (Lead maintainer)
Picture of Brendan Heywood
Brendan Heywood: Solutions Architect
Picture of Peter Burnett
Peter Burnett: Developer
Picture of Mikhail Golenkov
Mikhail Golenkov: Developer
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Plugins bot
    Fri, Dec 20, 2019, 10:00 AM
    Approval issue created: CONTRIB-7938
  • Picture of lelon ONG
    Sun, Jun 28, 2020, 1:29 PM
    hi, sorry to interrupt. May I know how to change the text in the email that sent to user? I try to edit the file "factor_email.php" under "admin/tool/mfa/factor/email/templates/en/lang", but it did not take any effect. Please advise. Thanks for your help first.
  • Picture of Alessandro Pagano
    Wed, Jul 8, 2020, 3:01 PM
    I set-up the plugin with just TOTP authentication but I can't find the TOTP Factor Setup to add my device. Any help ?
    It is possible to automatically generate a code for set-up for users uploaded by csv ?
    Thanks in advance.
  • Faisal Kaleem
    Thu, Jul 16, 2020, 11:48 PM
    You may find it under user preference

    i.e at http://yourdomain.tld/admin/tool/mfa/user_preferences.php

    If you don't find it, mention you moodle version here please.
  • Picture of Hui Jillain
    Fri, Nov 6, 2020, 4:50 AM
    Whoops, I downloaded and installed Moodle 3.9. Would this Multi-factor authentication still support it? If not, do I need to uninstall then download 3.8 below at least or any other way? Thank you so much.
  • Picture of Mikhail Golenkov
    Fri, Dec 4, 2020, 12:02 PM
    Hi Hui Jillain,
    Yes, Moodle 3.9 is supported. The doc needs to be updated
  • Picture of Wee Teck Lim
    Sat, Feb 6, 2021, 10:55 AM
    Hi, after I switch on the MFA module an error occur when I attempt to login in to moodle. FYI I am using a customise moodle (Edumy by Cocoon) template that I purchase online. I contact the vendor they recommend that I contact the developer of the plugin. Is there a way to disable the plugin without access to the GUI as I am not able to login.

    Coding error detected, it must be fixed by a programmer: page layout file [dirroot]/theme/edumy/layout/ccn_minimal.php does not contain the main content placeholder, please include "<?php echo $OUTPUT->main_content() ?>" in theme layout file.
Please login to post comments