47 lines
3.1 KiB
Markdown
47 lines
3.1 KiB
Markdown
# 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_ (or _Redirect URIs_) of `https://{CHAMILO_URL}/plugin/azure_active_directory/src/callback.php`.
|
|
* In the _Front-channel logout URL_, use `https://{CHAMILO_URL}/index.php?logout=logout`.
|
|
* Leave the rest of the _Authentication_ section unchanged.
|
|
* 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
|
|
```php
|
|
$extAuthSource["azure"]["login"] = $_configuration['root_sys']."main/auth/external_login/login.azure.php";
|
|
```
|
|
|
|
### Dependencies
|
|
> This plugin uses the [`thenetworg/oauth2-azure`](https://github.com/TheNetworg/oauth2-azure) package.
|