TAO Logo

GitHub GitHub release GitHub commit activity

Extension to manage LTI services for TAO

Installation instructions

These instructions assume that you have already a TAO installation on your system. If you don't, go to package/tao and follow the installation instructions.

If you installed your TAO instance through package/tao, oat-sa/extension-tao-lti is very likely already installed. You can verify this under Settings -> Extension manager, where it would appear on the left hand side as taoLti. Alternatively you would find it in the code at /config/generis/installation.conf.php.

Note, that you have to be logged in as System Administrator to do this.

Add the extension to your TAO composer and to the autoloader:

composer require oat-sa/extension-tao-lti

Install the extension on the CLI from the project root:

Linux:

sudo php tao/scripts/installExtension oat-sa/extension-tao-lti

Windows:

php tao\scripts\installExtension oat-sa/extension-tao-lti

As a system administrator you can also install it through the TAO Extension Manager:

  • Settings (the gears on the right hand side of the menu) -> Extension manager
  • Select taoLti on the right hand side, check the box and hit install

REST API

Lti REST API

Configuration options

auth.conf.php

Configuration option config

Description: this specifies a single option as the adapter key of the array. This adapter is to be used to authenticate LTI requests and is retrieved in FactoryLtiAuthAdapterService.

Possible values of the adapter key:

  • an instance of any class that implements the common_user_auth_Adapter interface

Value examples:

  • ['config' => ['adapter' => 'oat\\taoLti\\models\\classes\\LtiAuthAdapter']]

CookieVerifyService.conf.php

Configuration option verify_cookie

Description: This option determine whether to check if the 'session' request parameter matches the internal PHP session ID before launching an LTI tool

Possible values:

  • true: enable the session check. 2 more HTTP redirects are needed
  • false: disable the session check

LtiUserService.conf.php

Configuration option factoryLtiUser

Description: factory for producing LTI users

Possible values:

  • an instance of any class that implements the oat\taoLti\models\classes\user\LtiUserFactoryInterface interface

Configuration option transaction-safe (only for OntologyLtiUserService implementation)

Description: not used

Configuration option transaction-safe-retry (only for OntologyLtiUserService implementation)

Description: not used

Configuration option lti_ku_ (only for KvLtiUserService implementation)

Description: a prefix for storing taoId => ltiId relation in the key-value storage to look up LTI users

Possible values:

  • any unique string

Configuration option lti_ku_lkp_ (only for KvLtiUserService implementation)

Description: a prefix for storing ltiId => taoId relation in the key-value storage to execute reverse lookup

Possible values:

  • any unique string

LtiValidatorService.conf.php

Configuration option launchDataValidator

Description: specifies a list of validators to be used for validating LTI launch data

Possible values:

  • a list of instances of any classes that implement the LtiValidatorInterface interface. Validators should throw LtiException in case of not valid data, return values are not considered

Value examples:

  • [ new oat\taoLti\models\classes\LaunchData\Validator\Lti11LaunchDataValidator() ]

Extension Wiki

You can find the extension wiki here.