Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

moodle-factor_user

What is this?

This is a factor plugin for the Moodle MFA Plugin which allows specific user accounts to be exempted from MFA requirements entirely.

Users listed in the configuration will automatically pass this factor, bypassing the need for any additional authentication. All other users receive a neutral result, meaning this factor does not affect them and other configured factors will determine their MFA requirement as normal.

This is intended for integration accounts or service accounts that authenticate programmatically and cannot complete interactive MFA challenges.

Branches

Moodle version Branch
Moodle 4.5+ main

Installation

Clone or copy this plugin into your Moodle installation:

git clone https://github.com/catalyst/moodle-factor_user admin/tool/mfa/factor/user

Then run the upgrade:

php admin/cli/upgrade.php

Or complete the upgrade via Site administration → Notifications.

Configuration

  1. Go to Site administration → Security → Multi-factor authentication.
  2. Enable and configure the Exempted users factor.
  3. Set the weight to a value that, on its own, satisfies your MFA threshold (typically 100).
  4. In the Exempted usernames textarea, enter one username per line for each account that should bypass MFA.

Example

integration_api
lms_sync_account
hr_feed_user

Any user whose username appears in this list will pass MFA automatically. Users not on the list are unaffected by this factor.

Recommended setup

Combine this factor with your normal MFA factors (e.g. TOTP, Email). Ensure this factor is ordered before the others so exempted accounts are passed immediately without being prompted for a second factor.

Security issues

Note: This plugin is a workaround. Ideally, integration and service accounts should be configured with the No login (nologin) or Web services (webservice) authentication method in Moodle. Accounts using these auth methods cannot log in via the standard login form and are therefore naturally exempt from MFA without needing this plugin. Use this factor only when those auth methods are not an option for your integration.

Granting MFA exemptions reduces security for the affected accounts. Ensure that:

  • Only non-interactive service/integration accounts are added to the exemption list.
  • Exempted accounts use strong, unique passwords and have minimal permissions.

If you find a security issue with this or any Catalyst plugin, please do not open a GitHub issue. Instead, responsibly disclose the issue in private via email:

security@catalyst-au.net

Support

If you have issues please log them in GitHub.

This plugin was developed by Catalyst IT Australia:

https://www.catalyst-au.net

Catalyst IT

About

A simple permanent exemption for specific users factor plugin for Moodle

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages