/Ilias.RESTPlugin

An ILIAS Plugin for creating and using REST APIs

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

ILIAS REST Plugin

This is a plugin for the ILIAS Learning Management System, which provides a customizable REST API.

Warning

This is a modified version of the original REST plugin which contains changes required by the Pegasus mobile application. Only use this branch with the ILIAS Pegasus mobile application.

Requirements

  • Version: ILIAS 5.3 - 6
  • PHP 5.6 or higher or PHP 7.0 - 7.4

Installation

  • From within your ILIAS directory:
mkdir -p Customizing/global/plugins/Services/UIComponent/UserInterfaceHook
cd Customizing/global/plugins/Services/UIComponent/UserInterfaceHook
git clone https://github.com/hrz-unimr/Ilias.RESTPlugin.git REST
php composer.phar install --no-dev
  • Open ILIAS Administration > Plugins from the drop-down menu
  • Update and active REST-Plugin using the drop-down action-menu button

Features:

  • Permission management for resources depending on REST clients using API-Keys
  • Full OAuth 2.0 support (see RFC6749) including the grant types:
    • Authorization Code
    • Implicit
    • Resource Owner Password Credentials
    • Client Credentials
  • CRUD (Create-Read-Update-Delete) principle for resources
  • Easy integration of new REST endpoints possible
  • Based on the PHP SLIM Framework
  • Tools included (IShell, System Client, API Testing, IScenarios)

Note: Please refer to the wiki. pages for further information.

Example

Retrieve all available routes

curl -X GET https://ilias.uni-marburg.de/Customizing/global/plugins/Services/UIComponent/UserInterfaceHook/REST/api.php/v2/util/routes

More examples can be found in the wiki.

License

This project is licensed under the GNU GPLv3 License - see the LICENSE.md file for details.