Authentication: Enrolment key based self-registration

Maintained by Picture of Catalyst ITCatalyst IT, Picture of Nicholas HoobinNicholas Hoobin, Picture of Brendan HeywoodBrendan Heywood
This auth plugin combines the best of both email based signup and self enrolment keys into a streamlined process making it much faster for students to get into a course. For the student it saves around 9-10 clicks and avoids context switching between a browser and their email client where they can become easily become disengaged or run into issues if their email is unavailable.

Enrolment key based self-registration 2016091900

Release notes

Build Status

Moodle Enrolment key based self-registration

This is a functional clone of the Email-based self-registration plugin that also enrols a user into available courses based on a token supplied. When a user enters a valid token it will automatically enrol them into the course that token was specified for.

Courses that provide self enrolment can restrict access to them with a key. If the signup token matches any course enrolment key then the new user will be enrolled into those courses.

Found in the Moodle plugins directory at


Add the plugin to /auth/enrolkey/

Run the Moodle upgrade.


First enable the Enrolment key based self-registration plugin for use. (Site administration > Plugins > Authentication > Manage Authentication)

On the same page that you manage authentication options, scroll down to the common settings and select Enrolment key based self-registration in the Self Registration drop down list for registerauth.

Enable the Self enrolment plugin. (Site administration > Plugins > Enrolments > Manage enrol plugins)


It is possible to force the the enrolment key as a required element for signing up.

Usage (admin)

Course enrolment keys

Enable a new Self enrolment method in the course required. (Course administration > Users > Enrolment methods > Add method > Self enrolment)

The Enrolment key field that is visible will be used for the automatic enrolment on signup.

When creating new Self enrolment method, provide a custom instance name that is descriptive enough to determine how and when this specific instance will be used for enrolling.

Please add additional Self enrolment methods for the course that you require automatic enrolment access for.

Group enrolment keys

If you select Use group enrolment keys: Yes during creating of a new Self enrolment method, it enables a functionality of automatic adding self enrolled students to the groups created in the course.

In order for that to work, create a group in the course and specify Enrolment key.

Please note, that this key must be different from the course enrollment key which you set in the course Self enrolment method.

As a result, students will be able to subscribe using the group enrolment key. That will enrol them to the course where the group was created and also will add them to that group.

Usage (client)

When a user tries to log in they are given the option to create an account.

The user can enter a token into the field name Enrolment key.

There is an optional setting that can force this field to be required.

If the token matches any valid instance of self enrolment, then the user will be enrolled to those courses.


Add option to bypass view.php, this may not be required if only enroling into one course.

Moodle 2.7, 2.8, 2.9, 3.0, 3.1

Version information

Version build number
Version release name
Stable version
MD5 Sum
Supported software
Moodle 2.7, Moodle 2.8, Moodle 2.9, Moodle 3.0, Moodle 3.1
  • This is the latest release for Moodle 2.7
  • This is the latest release for Moodle 2.8
  • This is the latest release for Moodle 2.9
  • This is the latest release for Moodle 3.0
  • This is the latest release for Moodle 3.1

Version control information

Version control system (VCS)
VCS repository URL
VCS tag

Default installation instructions for plugins of the type Authentication

  1. Make sure you have all the required versions.
  2. Download and unpack the module.
  3. Place the folder (eg "myauth") in the "auth" subdirectory.
  4. Visit to finish the installation