-
Notifications
You must be signed in to change notification settings - Fork 1
Home
The Magic Authentication plugin for Moodle is a convenient and secure authentication plugin designed to simplify the login process for users. With the Magic Authentication plugin, users no longer need to remember and enter their usernames and passwords to access the Moodle site. Instead, they can use a magic link that is sent to their email address, providing them with direct access to the Moodle platform.
-
Magic Link Authentication: Instead of traditional username and password login, users can authenticate themselves by clicking on a magic link sent to their email address. This eliminates the need for remembering and entering credentials, providing a more convenient login experience.
-
Email-based Verification: The plugin relies on email verification to ensure the authenticity of the user. A unique magic link is sent to the user's registered email address, serving as their authentication token.
-
Secure Authentication: Magic links are time-limited and expire after a certain period, adding an extra layer of security. This helps to prevent unauthorized access and reduces the risk of password-related vulnerabilities.
-
User-friendly Interface: The plugin provides a user-friendly interface on the Moodle login page, allowing users to easily request a magic link by entering their email address and clicking a designated button.
-
Seamless Single Sign-On: Once the user clicks on the magic link and completes the authentication process, they are automatically logged in to Moodle without requiring any additional credentials. This creates a seamless single sign-on experience for users.
-
Compatibility: The Magic Authentication plugin is designed to work with the latest versions of Moodle, ensuring compatibility and seamless integration into your Moodle environment.
The Magic Authentication Pro plugin is an enhanced version of the Magic Authentication plugin for Moodle. It introduces additional features that enhance the authentication and login experience for users. With this plugin, users can conveniently register by entering their email addresses. Administrators gain the ability to create and manage registration campaigns, customize the login page to align with their organization's branding, and leverage a range of customization options. These enhancements result in a smoother and more user-friendly authentication and login process within Moodle.
-
Magic Signup: The Magic Signup feature allows users to create an account simply by entering their email addresses. Whether or not an account with the provided email address already exists, a magic link will be sent. If the account doesn't exist, clicking on the magic link will create the user account.
-
Magic Custom Login Page: With the Magic Custom Login Page feature, you gain full control over the login page. A separate custom login page is created, enabling you to customize its appearance and layout. You can choose to display only one input field for the email address and conditionally show additional input elements based on the entered email address and its associated authentication method.
-
Campaign: The campaign feature allows users with the appropriate capabilities, such as site managers, to create registration forms. These forms can be customized visually, including the addition of a logo, text, and background image. You can pre-set profile information, reCAPTCHA, Payment, Redirect after form submission, Approval roles for Parents, Campaign course allows to define roles (student and their parent) and for the course Group & Grouping, define form fields, set up enrolments, and assignments, and even manage capacity within the campaign. Existing users have different campaign submission options based on their roles.
-
Allow User to Use Username for Login: By enabling this feature, users have the option to enter their username instead of their email address in the login form. The plugin will determine the corresponding email address for the provided username and send the magic link to that associated email address. A global setting controls this behavior.
-
Button Position: This feature allows you to configure the position of the "Get a magic link" button on the login page. You can choose to display the button in the normal position, below the username field, or below the password field, depending on your preference.
-
Manually Override Expiration Time: Administrators with the appropriate capability can manually override the expiration time of a magic link. This feature is particularly useful for creating everlasting login links, such as for demo accounts or specific use cases where a longer validity period is required.
-
Get Link via Moodle Webservice: The Magic Authentication Pro plugin provides the capability to retrieve the magic link via the Moodle web service. This feature enables integration with other systems or external applications that can programmatically fetch the magic link.
-
Quick Registration: The Quick Registration feature facilitates a streamlined registration process by allowing users to quickly create accounts using their email addresses without the need for additional profile information. This can be useful in scenarios where minimal user information is required.
-
Magic user accounts: The Magic User Accounts offer a convenient interface for managing users with magic authentication, with options to view and modify user information, control access, and perform essential administrative tasks. This list includes users with magic authentication enabled and authorized to access Moodle using this method.
-
Report source: Payment transaction: The Payment Transaction Report Source provides information about payment activities in campaigns. It allows users to create reports that show details like payment methods, amounts, and statuses, helping to track and manage financial transactions within the campaigns in a single page.
-
Report source: Campaigns: The Campaigns Report Source provides detailed data about different campaigns. It allows users to generate reports that include campaign information such as enrollment, approval status, participation, and overall campaign performance. This helps in managing and analyzing the effectiveness and reach of campaigns.
-
Bank Transfer support: Bank Transfer Support refers to the ability for users to make payments through bank transfers as part of the payment options available in the system. This feature allows users to complete their transactions securely by transferring funds directly from their bank account to the campaign's designated account.
You can install the Magic Authentication plugin using the Moodle plugin installer. Here are the steps to follow:
- Download the Magic Authentication plugin from the Moodle plugins repository or from the Bdecent website.
- Log in to your Moodle site as an administrator.
- Go to "
Site administration > Plugins > Install plugins
". - Upload the downloaded plugin ZIP file.
- Follow the prompts to install the plugin.
- Once the Magic Authentication plugin is installed, you need to enable Magic Authentication by going to "
Site Administration > Plugins > Authentication > Manage authentication
". From there, Locate the Magic Authentication plugin and click the eye icon to enable it. - Click the Settings link for the Magic Authentication, From there, you can configure the magic link expiration times.
Alternatively, you can also install the Magic Authentication plugin manually. Here are the steps to follow:
- Download the Magic Authentication plugin from the Moodle plugins repository.
- Unzip the downloaded file and rename the "auth-magic" folder as "magic".
- Upload the magic folder to the "
moodle/auth
" directory on your Moodle server. - Log in to your Moodle site as an administrator.
- Go to "
Site administration > Notifications
". - Follow the prompts to install the plugin.
Install using Moodle plugin installer, Follow the same steps mentioned in the above installation steps. Use the Magic Authentication Pro source instead of the Magic Authentication
Alternatively, you can also install the Magic Authentication Pro plugin manually. Here are the steps to follow:
- Download the Magic Authentication Pro plugin from the Moodle plugins repository
- Unzip the downloaded file and rename the "auth-magic-pro" folder as "magic".
- Upload the magic folder to the "
moodle/auth
" directory on your Moodle server. - Log in to your Moodle site as an administrator.
- Go to "
Site administration > Notifications
". - Follow the prompts to install the plugin.
The Magic Authentication plugin for Moodle includes a Global Configuration where you can customize various settings to be applied by expiration times for magic links.
To access the Magic Authentication global configuration:
Go to "Site administration > Plugins > Authentication > Magic authentication
"
-
Default enrolment duration:
The Default Enrolment Duration setting in Quick Registration allows you to specify the default duration for course enrolments. This setting determines how long users will have access to a course after enrolment.
-
Default enrolment role:
The Default Enrolment Role setting enables you to specify the role assigned to users when they are enrolled in a course using the Quick Registration feature.
-
Magic invitation link expiry:
The Magic Invitation Link Expiry setting allows you to define the duration for which a magic invitation link remains valid. This global setting ensures that invitation links have a limited lifespan and expire after a specified period.
Note: The duration is set to 0, indicating that the invitation links will never expire.
-
Magic login link expiry:
The Magic Login Link Expiry setting allows you to define the duration for which a magic login link remains valid. This global setting controls the lifespan of the login links sent to users for authentication purposes.
Note: The duration is set to 0, indicating that the login links will never expire.
-
Supported authentication method:
The Supported Authentication Method setting allows you to define the method by which users can obtain a magic link via email for authentication.
Magic only: This option allows only users authenticated through the magic authentication method will be able to receive a magic link via email. Users who have registered and authenticated using other methods will not have access to this feature.
Any method: This option allows users authenticated through any authentication method to receive a magic link via email. This means that users who have registered and authenticated use different authentication methods.
-
Owner account role:
The setting is used to define the role assigned to the user who creates a new user account.
If the setting is configured to a role other than "none," the user who creates the new account will be assigned the specified role as the owner account role for the newly created user.
Note: This setting is populated with all available roles within the user context.
-
Supports password:
Disabled: This option allows users to access Moodle without using a password.
Enabled: This option requires users to use a password to access Moodle.
-
Configure login key link:
This setting allows administrators to adjust the behavior of login keys.
-
Only once: Login keys can be used for a single login.
-
Until it expires: Login keys can be used until they reach their expiration time.
-
-
Allow Username to get magic link:
Enabled: This option allows the users to provide the Username / Email in the login form to receive the magic link via email.
Disabled: This option allows users to provide only their email address in the login form to receive the magic link via email.
-
Magic login link button position:
This setting allows you to configure the placement of the "Get a Magic Link" button on the login form. Below Username: Positions the "Get a Magic Link" button below the username field on the login form. Below Password: Positions the "Get a Magic Link" button below the password field on the login form. Default: Positions the "Get a Magic Link" button in its standard location, based on the identity provider being used.
-
Privileged role:
This setting allows you to define which roles are considered "privileged" during the magic login process.
Note: When signing in with an email address linked to an account with a privileged role, users must enter their password before they can receive the magic login link via email on the magic custom login page.
-
Login footer links:
This setting allows you to display a footer at the bottom of the magic custom login page that contains additional information and links.
-
Campaign owner role:
Select the campaign owner role, which will display the option as the default value in the campaign form.
Create a user context role and a profile field with a text type for the role. Assign the corresponding profile field to each user context role. Provide the user email ID or other values (based on the account identifier) for the users. Once the profile fields are mapped with roles, and the user profile is filled with the parent user's email ID, the Auth Magic plugin will assign the parent user to the user.
-
Profile field for the role:
Choose the "profile field" to associate with the roles for the user. Subsequently, the user will be assigned to the parent account linked with that user.
-
Account identifier:
This setting is used to specify the information utilized to identify the relative role assignment for the user. Users may be identified through their email address, username, ID number, or full name.
-
Auto create the relative role users:
When enabled, it automatically creates user information provided in the user "profile fields" if the user does not exist and assigns them as relative role users.
Quick Registration is a convenient feature in the Magic Auth plugin that allows for fast and efficient user registration and course enrollment. It simplifies the process by enabling users to register and join a course in a single step. This feature is accessible only to users with the appropriate capability within the context, ensuring that only authorized individuals can use it.
First name: The first name of the user for registration in magic authentication.
Last name: The last name of the user for registration in magic authentication.
Email address: The email address of the user for registration in magic authentication.
Course: The user will enroll in the selected course following registration.
Enrolment duration: You can choose a fixed date or specify a duration in days, weeks, months, or years to determine how long the course enrollment will remain active.
To use Quick Registration, the user must have the capability
"auth/magic:cansitequickregistration
" at the site level
or "auth/magic:cancoursequickregistration
" at the course level.
This ensures that only users with the necessary permissions can utilize the feature.
The Quick Registration feature is available in two locations within Moodle: at the site level and within individual courses.
At the site level, site administrators can access it through the "Site administration > Users > Accounts > Quick registration
".
Within a course, participants can access it by clicking on the "Quick registration
" button located next to the "Enroll users" option.
The Magic User Accounts presents a table displaying the list of users with magic authentication.
The Magic User Accounts feature is available in two locations within the site:
- Site Level Access:
Site administrators can access the user list by navigating to "Site admin > Users > Accounts > Magic user accounts
".
Users with site-level contexts, such as managers, can also access the user list through their profile settings.
By going to "Profile > Magic Authentication > My user accounts
" users with the manager role can manage the magic authentication users associated with their profile. This access is specific to site-level contexts, and the capability required is "auth/magic:viewloginlinks
".
- Parent Level Access:
Parent Users can access the user list through their profile settings. By going to "Profile > Magic Authentication > My user accounts
" parents can view and manage the magic authentication users that are linked to their parent account. This access is specific to user-level contexts, and the capability required is "auth/magic:viewchildloginlinks
".
The Magic User Accounts feature offers a convenient way to manage users with magic authentication. Authorized users with the appropriate capabilities can access a user list and perform various actions such as editing, deleting, suspending, copying invitation links, sending invitation links and Overriding invitation links.
-
Firstname / Lastname: Displays the user's first name and last name.
-
Email Address: This shows the user's email address as a unique identifier.
-
Courses: Indicates the courses in which the user is enrolled.
-
Last Access: Displays the timestamp of the user's last access to the site.
-
Edit Actions: Provides various options for managing user accounts:
Delete: Allows for the deletion of user accounts.
- Site-level capability required: "auth/magic:userdelete" - User-level capability required: "auth/magic:childuserdelete"
Suspend: Enables / Disables the suspension of user accounts.
- Site-level capability required: "auth/magic:usersuspend" - User-level capability required: "auth/magic:childusersuspend"
Settings: Provides the ability to edit user account settings.
- Site-level capability required: "auth/magic:userupdate" - User-level capability required: "auth/magic:childuserupdate"
Copy Link: Enables the sending of a magic invitation link to the user.
- Site-level capability required: "auth/magic:usercopylink" - User-level capability required: "auth/magic:childusercopylink"
Invite Link: Enables the sending of a magic invitation link to the user.
- Site-level capability required: "auth/magic:usersendlink" - User-level capability required: "auth/magic:childusersendlink"
Override Invite Link: Allows for overriding the expiry time interval of a magic invitation link.
- Site-level capability required: "auth/magic:usersetlinkexpirytime" - User-level capability required: "auth/magic:childusersetlinkexpirytime"
The Magic Login Page provides significant enhancements to the standard Moodle login process. By simplifying the login interface to a single email input and dynamically displaying relevant additional input elements, we streamline the login experience for users. This customization allows for a more user-friendly and efficient authentication process tailored to individual authentication methods associated with email addresses.
To access the custom Magic login page in Magic Authentication, follow these steps:
- Log in to your Moodle site with administrator credentials.
- Navigate to "
Site Administration > Plugins > Authentication > Manage authentication
". - Look for the "Common settings" section.
- Locate the "Alternate login URL" setting.
- In the field provided, enter the URL for your custom Magic login page. For example, set it to "https://yourmoodlesite/auth/magic/signin.php".
- Save the changes.
The magic login page offers a simplified and intuitive login experience by requesting only the user's email address initially. Once the email address is entered, the page dynamically adapts to show the relevant input fields based on the authentication method associated with that email.
To sign in, please enter your email address. If the email address belongs to an account that supports a specific authentication method, additional input elements will be displayed accordingly based on the associated authentication method.
If the email address belongs to an account that supports magic login and is not a privileged user, or if there is no account associated with the entered email address and Magic Pro is configured to Create user accounts, you will be able to obtain the magic login link after entering the email address.
If the email address belongs to an account that does not support magic login, you will be required to enter your password.
If the email address belongs to a privileged user account that supports magic login, you will be prompted to enter your password before obtaining the magic login link via email.
If the email address belongs to an account that uses an identity provider for authentication, the appropriate button associated with that identity provider will be displayed.
Magic sign-up allows users to create an account by simply entering their email address. If the email does not match an existing account, they will receive a magic registration link. Clicking the link starts the account creation process, and the account is successfully created once completed. The magic registration link expires after the same duration as an invitation link, ensuring consistency in the registration process.
To enable Magic Sign Up in Magic Authentication, follow these steps:
- Log in to your Moodle site with administrator credentials.
- Go to "
Site Administration > Plugins > Authentication > Magic authentication > Magic Sign Up
". - Enable the "Auto create users" setting to allow users to register automatically.
- Save the changes.
- Only existing users will receive a magic link when they enter their email address in the login form. If the email address does not match an existing account, no action will be taken.
- Users who enter an email address that is not associated with an existing account will receive a magic registration link. Once the registration link is clicked, the user account will be successfully created.
The concept of magic campaign in Magic authentication allows users to create customized registration forms for specific purposes or events. The campaign provides the flexibility to customize various aspects of the registration form to meet specific requirements. Participants can sign up using these custom forms, making the registration process more personalized and efficient.
To create a Magic campaign in Magic Authentication, please follow these steps:
- Log in to your Moodle site using your administrator credentials.
- Navigate to "Site Administration > Plugins > Authentication > Magic authentication > Manage campaign".
- On the campaign list page, click on the "Create campaign" button.
- The campaign form will be displayed, allowing you to customize the settings and details for the new campaign.
- Once you have configured all the settings for the campaign, click on the "Save changes" button to create the campaign.
In the Magic campaign, two capabilities control access to the campaign list:
-
"auth/magic:viewcampaignlists": This capability is assigned to admins or managers, permitting them to view all campaigns. With this capability, they can see the list of all campaigns created by different campaign owners.
-
"auth/magic:viewcampaignownerlists": This capability is assigned to campaign owners, allowing them to view their campaign only. Campaign owners will be able to see the campaigns they have created and manage them, but they won't have access to campaigns created by other users.
Each campaign can be customized using the following settings:
-
Title of the campaign: A mandatory text input field to provide a title for the campaign.
-
Description: An optional text editor field to add a description of the campaign.
-
Comments: An optional text editor field to include additional comments or instructions.
-
Capacity: A number input field with a default value of 0 (indicating unlimited users) to specify the maximum number of users who can register via the campaign.
Note: Information is displayed to show how many users have already registered and how many can still register.
-
Status: A select field to set the campaign as either "Available" or "Archived," with the "Available" option selected by default.
-
available: This option allows the campaign to be visible to campaign managers and users. Participants can sign up for the campaign and access its content.
-
archived: This option hides the campaign from campaign managers and users. The campaign will not be visible, and participants will no longer be able to sign up or access its content.
-
-
Visibility: A select field to choose between "Visible" or "Hidden," with the "Hidden" option selected by default.
-
Visible: This option allows the campaign to be visible to users. Users will be able to see the campaign and its registration form.
-
Hidden: This option hides the campaign from users. The campaign will not be visible, and users will not be able to access its registration form or view its details.
-
-
Available from: An optional date select field to set the start date for the campaign's availability.
-
Available closes: An optional date select field to set the end date for the campaign's availability.
-
Campaign password: An optional password input field to add an additional layer of security for the campaign.
By using a password, campaign owners can ensure that only authorized individuals can participate in the campaign and access its content.
Note: Campaign owners can set a password to secure their campaign. The password can be entered manually by the participant or submitted as a parameter in the campaign link. By using the link icon on the campaign list page, campaign owners can generate a tokenized link that includes the password as a parameter. This allows for a convenient way to share the campaign with others while pre-filling the password field.
-
Logo: A file picker to upload and display a logo for the campaign.
-
Header image: A file picker to upload and display a header image for the campaign.
-
Background image: A file picker to upload and set a background image for the campaign.
-
Transparent form: A checkbox field that allows users to choose whether to display a border, box shadow or background colour for the form.
-
Display campaign owner's profile picture: A checkbox to choose whether to display the campaign owner's profile picture.
-
Form Position: A checkbox field that allows campaign owners to define the placement of the registration form on the signup page.
-
By role: Restrict visibility based on the user's role.
-
Context: Select the context in which the user's role should be checked (either any context or only the system context).
-
By cohort: Restrict visibility based on the user's cohort.
-
Operator: Select the operator for the cohort condition (either Any or All options for the cohort).
-
reCAPTCHA: Choose an option from the multi-select field to enable or disable the reCAPTCHA feature on the campaign form.
-
Require email confirmation: Force users to confirm their account with an email before the sign-up is complete. This setting is only applicable to new user accounts created via a campaign.
-
No: After signing up for the campaign, the specific user is logged in, and email confirmation is not needed.
-
Yes: After signing up for the campaign, the specific user needs to confirm their account via email to log in.
-
Partial: After signing up for the campaign, the specific user will be logged in. However, for subsequent logins, the user needs to confirm their account via email.
-
-
Type: Specifies whether the campaign is free or paid using the multi-select option.
- Free: Users can sign up for the campaign without any cost.
-
Paid: Users are required to make a payment for the campaign after signing up.
- Fee: The amount that needs to be paid upon sign-up.
- Currency: Choose the currency for the fee from the multi-select option.
- Account: The registration fee will be paid to the selected account in the multi-select option.
-
Expiration Date: To enable the expiration date option, check the box. You can choose a fixed date or specify a duration in days, weeks, months, or years to determine how long until the expiration actions take effect.
-
Suspend User: Once the expiration date is enabled, this option allows you to temporarily disable a user's account, preventing access to the system until the suspension is lifted.
-
Delete User: Once the expiration date is enabled, this option allows you to permanently remove a user's account from the system, which will delete all associated data and prevent any future access.
-
Add to cohort: Once the expiration date is enabled, this option allows you to assign the user to a specific cohort, enabling them to access targeted resources or courses associated with that group.
-
Remove from cohort: Once the expiration date is enabled, this option allows you to unassign the user from a specific cohort, restricting their access to resources or courses associated with that group.
-
Unassign global role: Once the expiration date is enabled, this option allows you to remove a user's global role, revoking their permissions and access rights associated with that role across the system.
-
Notify before expiry: Once the expiration date is enabled, this option allows you to send notifications to users prior to the expiration date, ensuring they are aware of the upcoming expiration and can take necessary actions.
-
Redirect after form submission: This setting determines if the user shall be redirected to a summary page after submitting the form.
- No redirect: After submitting the campaign, the summary page content is displayed on the same page.
- Redirect to the summary page: After submitting the campaign, the user is redirected to the summary page.
- Summary page content: Enter the summary content in the text area field that you want to display on the page.
- Redirect to the URL: After submitting the campaign, the user is redirected to the specified URL page.
- Redirect to URL: Enter the URL to which the user should be redirected after submission.
-
Type:
-
Disabled: No approval process.
-
Information: Users, whether they have a parent or not, can click the confirmation link to create an account with the assigned relationship role. For payments, either the user or parent can use the confirmation link to complete the payment process. Regarding email confirmation, if set to "No," users will have full access without needing further confirmation. If set to "Yes," email confirmation is required before access is granted. With the "Partial" option, users receive one-time access until the confirmation is completed.
-
Opt-in: For the Opt-in process, both the user’s and parent’s email addresses are required. Once the user enters their details in the magic campaign form, Moodle sends a welcome message with a generated password to both the learner and the parent. Only the parent will receive the confirmation link
New Parent Approval (Opt-in):
- Only the parent’s email is required to create the campaign. Moodle sends a welcome message with a generated password to the parent. The learner and parent are then assigned their respective roles in the system.
-
Campaign opt-out: For the Campaign Opt-out process, both the user’s and parent’s email addresses are required. The confirmation link is sent to both the user and the parent, while the revoke link is sent only to the parent.
-
Full Opt-out: In the Campaign Opt-out process, both the user’s and parent’s email addresses are required. The confirmation link is sent to both the user and the parent, while the revocation link is sent only to the parent. Clicking the revocation link revokes the campaign assignments, setting the user account to unconfirmed and changing the authentication method to no login. This effectively prevents the user from logging in, and the account will be deleted according to the "Delete not fully set up users after" setting, which defaults to 7 days.
Note: Enabling the "Parent Email Address" option in the campaign form settings is required for the "Approval" type option to function properly.
-
-
Campaign course:
- Disabled: Selecting this option disables the user from auto-enrolling in the campaign course.
- Course1: Selecting the course will enrol the user in the selected course after signing up for the campaign course.
-
Course role for student:
- Disabled: Selecting this option prevents the user from assigning roles for the selected course context.
- Roles: Select the available roles in the option to assign the user to the selected course context.
-
Course role for "Parent" user:
- Disabled: Selecting this option prevents the "Parent" user from assigning roles for the course context.
- Roles: Select the available roles from the options to assign the 'Parent' user to the selected course.
-
Groups:
-
Disabled: This option disables the group for the user in the selected course.
-
Campaign: This option allows the creation of a new group with the Campaign's title and assigns the user to that group when the user signs up for the campaign.
-
Per User: This option allows the creation of a new group with the user's name who created the campaign and assigns the user to that group when the user signs up for the campaign.
Group messaging:
- Enable or disable the "Group Messaging" option for the campaign course groups.
- If the 'Disabled' option is selected for the 'Group' setting, the 'Group Messaging' option will be hidden.
Group enrolment key:
- Enable or disable the "Group Enrolment Key" option for the campaign course groups.
- If the 'Disabled' option is selected for the 'Group' setting, the 'Group Enrolment key' option will be hidden.
-
-
Group Capacity:
- The number specified in the 'Group capacity' option represents the maximum number of users who can utilize the 'Group enrollment key' to access the course.
- If '0' is entered in the input value, the capacity is considered unlimited.
- If the 'Disabled' option is selected for the 'Group' setting, the 'Group Capacity' option will be hidden.
-
Grouping:
- Disabled: This option prevents the user from being grouped.
- Select the grouping in the 'Grouping' option that allows the creation of the selected group within that grouping.
- When the 'Disabled' option is selected for the 'Group' setting, the 'Grouping' option will be hidden.
Form fields in the campaign allow customization of the user signup form. These fields include default Moodle profile fields as well as custom user profile fields. These fields can be used to customize the signup form for each campaign. The campaign owner can select the desired form fields and configure their visibility and requirement settings accordingly.
-
Authentication method:
- Moodle offers multiple methods to manage this process, ensuring secure and controlled user access. You can choose the authentication method that best aligns with the user's environmental needs and security requirements during signup.
Magic Authentication Method:
- This method allows users to sign in or register using a magic link, offering a password-free and streamlined authentication process. It simplifies access while maintaining security, making it ideal for fast and convenient logins.
-
Enrolment key:
-
If a user enters a valid enrollment key here, they will be added to the course or course group associated with that enrollment key. No payment will be required, as this functions as a 'coupon.'
- Disabled: The default state where the field is not added to the form.
- Strict: A valid enrollment key for the selected campaign course must be provided; other enrollment keys won't be accepted. This requires a campaign course to be set up.
- Required: A valid enrollment key needs to be provided.
- Optional: A valid enrollment key can be provided.
-
Each form field can be configured with the following options:
-
Required: The field will be visible on the campaign signup form and users will be required to provide a value for this field.
-
Optional: The field will be visible on the campaign signup form, but users will have the choice to leave it blank if they prefer.
-
Hidden (use provided text): The field will not be visible on the campaign signup form, but the campaign owner can provide a custom value for this field in the backend.
-
Hidden (use default): The field will not be visible on the campaign signup form, but a default value will be used for this field in the backend.
-
Hidden (use other field's value): The field will not be visible on the campaign signup form, but its value will be determined by the selected value of another selected field.
-
Cohort membership: An autocomplete select field populated with all cohorts on the site level context, allowing the selection of cohorts to be assigned to the user accounts created through the campaign.
-
Global roles: A multi-select field populated with all roles available on the site context level, allowing the selection of roles to be assigned to the user accounts created through the campaign.
-
Campaign owner account: An autocomplete select field populated with all users on the site, allowing the selection of a user who will be assigned as the parent to the user accounts created through the campaign.
-
Display consent option: A checkbox to enable the display of a consent statement on the campaign page, allowing users to give their consent to the privacy policies.
-
Consent statement: A text input to enter the consent statement.
-
Send a welcome message to new accounts: A checkbox to enable sending a welcome message to newly created accounts, with placeholders to personalize the message.
-
Welcome message content: A text editor field pre-filled with a standard message, which can be customized.
-
Also send to campaign owner: A checkbox to determine whether the welcome message should also be sent to the campaign owner.
-
Send follow-up message to new accounts: A field to specify the number of days after which a follow-up message will be sent to newly created accounts, using the same placeholders as the welcome message.
-
Delay: Send the message after the X days.
-
Message content: A text editor field pre-filled with a standard message for the follow-up message, which can be customized.
-
Also send to campaign owner: A checkbox to determine whether the follow-up message should also be sent to the campaign owner.
It provides comprehensive insights into financial activities, combining authentication details with transaction reporting for a more holistic understanding.
Filters:
- This option aids in filtering the User object, Payment gateway, Origin, and Status.
Name:
- This field refers to the name associated with the payment transaction.
Origin:
- The origin refers to the payment transaction associated with the course or campaign that the user has purchased.
Origin Linked:
- It provides a direct link to the course or campaign within the Moodle platform that is associated with the payment transaction.
Payment Gateway:
- This section is likely to specify the payment gateway through which the transaction was processed. It could include popular gateways like PayPal, Stripe, or others.
Fullname with link:
- This field displays the full name with a link leading to the user's profile page.
Cost:
- This is where the monetary value of the payment transaction is recorded.
Currency:
- The currency field indicates the type of currency in which the payment transaction occurred. It could be USD, EUR, or any other applicable currency code.
Date:
- This field is designed to capture the date of the payment transaction, facilitating the tracking of the timeline of financial activities.
Payment Status:
- This section provides information about the status of the payment transaction, indicating whether it was successful, pending, declined, or has another status.
The Bank transference payment gateway is integrated into the magic campaign to facilitate user campaign signup and payments. This feature is particularly important during the registration process, as it allows users to complete their payments securely. By ensuring that users can trust the payment process, this feature enhances their overall experience with the magic campaign, making them more likely to complete their signup and engage with the offerings confidently.
In the Moodle custom reports builder, you will see a list of custom reports related to the campaign sources.
Once the "Campaigns" report source is created as the custom report, the fields for "Campaigns," "Campaign groups," "Campaign statistics," "Campaign approval status," "User statistics," and "User" will be available. Clicking on these links will add the corresponding data to the reports table.
The list of the campaign fields is explained here,
https://github.com/bdecentgmbh/moodle-auth_magic/wiki#general-settings
The Campaigns report builder includes both "Conditions" and "Filters" options.
Group Name:
- Displays the name of the campaign group.
Group ID:
- Shows the unique ID of the campaign group.
Group Capacity:
- Represents the maximum number of users who can use the 'Group Enrollment Key' to access the course.
Member Count
- Displays the total number of members in the campaign group.
Group Available Seats
- The number of available seats in the campaign group is shown.
Status
- Indicates whether the group is Available or Full.
Confirmed Users:
- Displays the number of users who have completed the campaign signup process and confirmed their accounts.
Unconfirmed Users:
- Shows the number of users who have not yet confirmed their accounts.
Campaign Available Seats:
- Indicates the remaining seats available in the campaign.
Total Revenue:
- Displays the total amount of revenue generated by the campaign.
First Signup:
- Shows the date and time of the first user signup for the campaign.
Most Recent Signup:
- Displays the date and time of the most recent user signup for the campaign.
Open:
- Indicates that neither the confirmation nor the revocation link has been clicked yet, as displayed in the report table.
Approved:
- Shows that the confirmation link has been clicked, as reflected in the report table.
Rejected:
- Displays that the revocation link has been clicked, as shown in the report table.
Logins:
- Displays the number of times the user has logged into the system.
Badges awarded:
- Shows the total number of badges the user has earned.
Enrolled courses:
- Indicates the number of courses the user is currently enrolled in.
In-progress courses:
- Lists the courses the user has started but not yet completed.
Completed courses:
- Shows the courses the user has finished.
Activities completed:
- Displays the total number of activities the user has completed in the courses.
The Dash data source provides insights into campaigns created within the system. It includes key metrics and detailed statistics related to each campaign, helping administrators track user participation, campaign performance, and other relevant data.
The list of the campaign fields for the Dash data source is explained here,
Background Image:
- Displays the background image used for the campaign.
Background Image (Linked):
- Provides a link to the background image.
Header Image:
- Shows the image displayed in the campaign header.
Header Image (Linked):
- Provides a link to the header image.
Logo Image:
- Displays the campaign logo.
Logo Image (Linked):
- Provides a link to the logo image.
https://github.com/bdecentgmbh/moodle-auth_magic/wiki#general-settings
This section provides filtering options where users can input text to refine their search results based on specific campaign fields.
Payment:
- Filters and displays the payment method used for the campaign, showing results based on whether the user selected "Free" or "Paid" for the campaign.
Campaign Password:
- Filters the field based on whether a password was set for access.
Approval Types:
- Filters the campaigns based on the approval process type (e.g., Opt-in, Full Opt-out).
Campaign Owner:
- Filters campaigns based on the owner or person responsible for the campaign.
The conditions option allows the user to select criteria based on specific campaigns from the options below:
My Campaigns:
- Filters to display only the campaigns owned by the current user.
Approval Types:
- Filters campaigns based on the approval process type (e.g., Opt-in, Full Opt-out).
Campaign Dates:
- Displays campaigns categorized as past, present, or future based on the current date.
Hide My Campaigns:
- Option to exclude the user's own campaigns from the displayed list.
After creating the campaigns, when the existing user opens the campaign form. The user can see the three tabs with options "Myself", "Team members" and "New user"
Myself: The user can submit the campaign to apply the campaign assignment for themselves. Since the user already exists in the system, no campaign form is required.
- The user must have the capability:
"auth/magic:campaignself
" at the site level
Team Member: A user with a parent role can submit the campaign on behalf of other users (child users). No campaign form is necessary, as these users already exist.
- The user must have the capability:
"auth/magic:campaignteam
" at the site level
This ensures that only users with the necessary permissions can utilize the feature.
New User: The user can submit the campaign for a new user by entering their details in a form.
- The user must have the capability:
"auth/magic:campaignnew
" at the site level.
This ensures that only users with the necessary permissions can utilize the feature.
-
Generate Unique and Secure Links:
- Ensure that each magic login link generated is unique to maintain security.
- Implement proper tokenization techniques to prevent unauthorized access.
-
Design for Simplicity and Clarity:
- Create a clean and user-friendly custom login page.
- Avoid cluttered layouts or excessive design elements that may confuse or overwhelm users.
-
Simplify the Registration Process:
- Minimize the number of required fields during quick registration to streamline the process.
- Collect only essential information initially and allow users to complete their profiles later if necessary.
-
Customize Form Fields:
- Customize the form fields to collect the specific information required for each campaign.
- Determine the fields that are required, optional, or hidden based on the campaign's goals.
-
Streamline Account Creation:
- Design the signup process to be seamless and user-friendly.
- Minimize the number of steps and required fields to encourage participation.
By following these troubleshooting hints, you should be able to diagnose and resolve common issues with the Magic Authentication plugin in Moodle. If you continue to experience issues, consider reaching out to the Moodle community or contacting the support team for the Magic Authentication plugin for further assistance.
-
Verify Plugin Installation :
-
Ensure that the Magic Authentication plugin is installed correctly and activated on your Moodle site.
-
Check for any error messages during the installation process and consult the plugin documentation for troubleshooting steps.
-
-
Check Plugin Compatibility:
-
Ensure that the Magic Authentication plugin is compatible with your Moodle version.
-
Check for any plugin updates or patches that may address compatibility issues.
-
-
Review Plugin Configuration:
-
Double-check the plugin settings and configuration options.
-
Verify that the required settings are correctly set, such as email templates, login page customization, and campaign configurations.
-
-
Review Error Logs :
-
Check the Moodle error logs for any relevant error messages related to the Magic Authentication plugin.
-
Look for any specific error codes or messages that can help identify the issue.
-
-
Disable Other Plugins :
-
Temporarily disable other plugins to check if any conflicts or interference are causing the issue.
-
Enable plugins one by one to identify if a specific plugin is causing the problem.
-
-
Update and Patch:
-
Keep the Magic Authentication plugin up to date by applying any available updates or patches.
-
Developers often release updates to address bugs, improve performance, and add new features.
-
[1.0] - Initial Release - 2022-09-29
-
Added "Login via Magic Links" functionality, allowing users to log in using unique magic links instead of traditional credentials.
-
Implemented the "List of Magic Links" feature, providing users with a convenient overview of all their generated magic links.
-
Introduced the "Quick Registration" option, allowing users to create an account effortlessly by simply entering their email addresses.
[1.1] - 2023-04-05
-
Added the option to use a username for login
-
Improved the position of the "Get magic link" button.
-
Added the ability to manually override the expiration time for magic links
[1.2] - 2023-06-22
-
Introduce the Magic Login Page feature
-
Added magic registration functionality
-
Implemented campaign feature
[1.3] - 2023-10-16
-
Migrated the Magic Pro from the local plugin to the Auth Plugin.
-
Improved the security of the magic login key.
[1.4] - 2023-11-18
Added new features:
- Authentication method and Password for the form fields
- Payment method for the campaign
- Security option (reCaptcha, Require email confirmation)
- Redirect after campaign submission
- Relative role assignment
[1.5] - 2024-01-05
New Features:
- Course campaign, Approval setting in the campaign.
- Report sources: Payment transactions.
[1.6] - 2024-10-14
New Features:
- Approval Type, Expiry, Restrict Access section in the campaign
- Payment transaction: Bank Transference support
- Report sources: Campaign
- Report sources: Dash data source campaign
- Campaigns for existing users