Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/public/plugin/azure_active_directory
Christian 93bad6fbc6 Settings: Move settings from configuration.php to .env or to the Database - refs #2682 2 years ago
..
lang Minor - flint fixes 3 years ago
layout Settings: Move settings from configuration.php to .env or to the Database - refs #2682 2 years ago
src Minor - flint fixes 3 years ago
view Settings: Move settings from configuration.php to .env or to the Database - refs #2682 2 years ago
CHANGELOG.md Plugin: Azure Active Directory: Add auto-provisioning (creation) of users from Azure (as students) 4 years ago
README.md Minor: Plugin: Azure AD: Add better description of the plugin's effect (ref 34fcd3b4bd) 4 years ago
index.php
install.php
login.php Remove unused code, move functions from api.lib to text.lib.php 3 years ago
plugin.php

README.md

The Azure Active Directory Plugin

This plugin allows users to authenticate (with OAuth2) through Microsoft's Azure Active Directory. This will modify the login form to either substitute the default login form or add another option to connect through Azure. An option allows you to automatically provision/create users in Chamilo from their account on Azure if they don't exist in Chamilo yet.

This plugin adds two extra fields for users:

  • organisationemail, the email registered in Azure Active Directory for each user (under Email in the Contact info section).
  • azure_id, to save the internal ID for each user in Azure (which is also the prefix before the @ sign in the User Principal Name).

Prerequisites

This plugin will not work if you do not use HTTPS. Make sure your portal is in HTTPS before you configure this plugin.

To configure Azure Active Directory

  • Create and configure an application in your Azure panel (Azure Active Directory -> Applications registration -> New registration))
  • In the Authentication section, set an Reply URL with https://{CHAMILO_URL}/plugin/azure_active_directory/src/callback.php.
  • In the Front-channel logout URL, use https://{CHAMILO_URL}/index.php?logout=logout
  • In Certificates & secrets, create a secret string (or application password). Keep the Value field at hand. If you don't copy it somewhere at this point, it will later be hidden, so take a copy, seriously!
  • Make sure you actually have users

To configure this plugin

  • Enable: You can enable the plugin once everything is configured correctly. Disabling it will return to the normal Chamilo login procedure.
  • Application ID: Enter the Application (client) ID assigned to your app when you created it in your Azure Active Directory interface, under App registrations.
  • Application secret: Enter the client secret value created in Certificate & secrets above.
  • Block name: (Optional) The name to show above the login button.
  • Force logout button: (Optional) Add a button to force logout from Azure.
  • Management login: (Optional) Disable the chamilo login and enable an alternative login page for users.
    You will need copy the /plugin/azure_active_directory/layout/login_form.tpl file to /main/template/overrides/layout/ directory.
  • Name for the management login: A name for the manager login. By default, it is set to "Management Login".
  • Automated provisioning: Enable if you want users to be created automatically in Chamilo (as students) when they don't exist yet.
  • Assign a region in which the login option will appear. Preferably login_bottom.

Enable through the normal login form

You can configure the external login procedure to work with the classic Chamilo form login. To do it, make sure users have azure in their auth_source field, then add this line in configuration.php file

$extAuthSource["azure"]["login"] = $_configuration['root_sys']."main/auth/external_login/login.azure.php";

Dependencies

This plugin uses the thenetworg/oauth2-azure package.