mhuber84/oat-lti

Wrapper for TAO - LTI 1.3 Core Library

Maintainers

Package info

gitlab.com/mhuber84/typo3-extension-oat_lti

Homepage

Issues

Type:typo3-cms-extension

pkg:composer/mhuber84/oat-lti

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

1.0.4 2026-03-04 02:14 UTC

This package is not auto-updated.

Last update: 2026-03-04 14:02:25 UTC


README

Show a LTI tool resource (f.e. a moodle course) with TYPO3 as LTI platform.

Implementation for the "TAO - LTI 1.3 Core Library" https://github.com/oat-sa/lib-lti1p3-core LTI 1.3 specification: https://www.imsglobal.org/spec/lti/v1p3/

Content Elements

You can use two different content elements, "Button" and "iFrame". Both elements need a logged in frontend user!

The frontend user will get an account in the LTI tool via oauth2 and oidc, if he uses the element the first time. Then he gets logged in at the LTI tool and can use the resource.

The value for the field "LTI Resource" in the TYPO3 content elements comes from the LTI tool.

Moodle: Edit course / More / Published as LTI tools / Launch details / Custom Properties / id=xxx-xxx-xxx-xxx-xxx-xxx Use the "xxx-xxx-xxx-xxx-xxx-xxx" in the TYPO3 content element's field "LTI Resource". Deep Linking is not implemented!
https://docs.moodle.org/501/en/Publish_as_LTI_tool#Sharing_access_to_a_course_or_activity https://docs.moodle.org/501/en/Publish_as_LTI_tool#/media/File:publishing_resources.png

Configuration

TYPO3: config/sites/main/config.yaml

oat_lti:
  platforms:
    -
      identifier: '111-xxx-xxx-xxx-xxx'
      name: 'My TYPO3 Platform'
      audience: 'https://typo3.ddev.site'
      oidcInitiationUrl: 'https://typo3.ddev.site/oatlti/authorize'
      launchUrl: 'https://typo3.ddev.site/oatlti/token'
  tools:
    -
      identifier: '222-xxx-xxx-xxx-xxx'
      name: 'My LTI Tool'
      audience: 'https://moodle.ddev.site'
      oidcInitiationUrl: 'https://moodle.ddev.site/enrol/lti/login.php?id=555123'
      launchUrl: 'https://moodle.ddev.site/enrol/lti/launch.php'
      deepLinkingUrl: 'https://moodle.ddev.site/enrol/lti/launch_deeplink.php'
  keyChains:
    -
      identifier: '333-xxx-xxx-xxx-xxx'
      keySetName: 'key-set-name'
      privateKey: 'oauth2/private.key'
      publicKey: 'oauth2/public.key'
  registrations:
    -
      identifier: '444-xxx-xxx-xxx-xxx'
      typo3BackendName: 'My TYPO3 Platform => My LTI Tool'
      clientId: '444-xxx-xxx-xxx-xxx'
      platform: '111-xxx-xxx-xxx-xxx'
      tool: '222-xxx-xxx-xxx-xxx'
      platformKeyChain: '333-xxx-xxx-xxx-xxx'
      toolKeyChain: null
      platformJwksUrl: null
      toolJwksUrl: 'https://moodle.ddev.site/enrol/lti/jwks.php'
      deploymentIds:
        - '666123'

LTI Tool:

Platform details:

Deployments:

  • Deployment ID: 666123

Moodle: Site Administration / Plugins / Publish as LTI tool / Tool registration / Register Platform
Dynamic Registration is not implemented! Use the manual registration process.
https://docs.moodle.org/501/en/Publish_as_LTI_tool#Register_Moodle_with_the_platform