Hi all,
I'm trying to integrate Docebo with a Moodle/Totara instance that is exposing content using Publish as LTI Tool (LTI Advantage / LTI 1.3) and wondered if anyone has successfully implemented this?
Environment
Docebo
- LTI 1.3 Training Material
Moodle
- Moodle 4.4 (test environment)
- Publish as LTI Tool
- LTI Advantage (1.3)
The eventual target is a Totara environment, but I'm using Moodle to understand the behaviour first.
Progress so far
After a lot of troubleshooting, we've successfully resolved:
- Issuer mismatch errors
- Redirect URI errors
- OIDC login failures
- Missing
id_tokenlaunch errors
The current configuration successfully:
- Registers the platform
- Completes OIDC authentication
- Generates and sends a valid JWT launch token
- Provisions/authenticates users
The JWT launch contains standard LTI claims including:
- Issuer
- Audience
- Deployment ID
- Context
- Roles
- Resource Link ID
So from an authentication perspective, the launch appears healthy.
Current Issue
Moodle returns:
Invalid launch data. The custom claim field 'id' is required to launch an activity or resource over LTI Advantage.
Moodle also generates a custom property when content is published, for example:
id=82cf44d1-97f7-465b-9ba2-94884013fc89Deep Linking Observation
If I point Docebo at Moodle's Deep Linking endpoint (launch_deeplink.php), authentication succeeds and Moodle presents a content selection screen.
This makes me wonder whether Moodle expects a Deep Linking workflow to establish the relationship between the published content and the consumer platform, but I'm not sure whether Docebo supports that workflow fully.
Questions
- Has anyone successfully launched Moodle or Totara "Publish as LTI Tool" content from Docebo?
- Does Docebo support custom launch claims/custom parameters for LTI 1.3?
- Does Docebo support the Deep Linking workflow required by Moodle/Totara published content?
- Is there a supported way to consume Moodle/Totara published content without manual entry of custom properties?
Any experience or guidance would be greatly appreciated.
Thanks,
Eoin
===
For completeness, I’ve added the steps I took to configure both sides in case anyone finds this useful:
On your Moodle site:
- Go to: Site administration → Plugins → Authentication → Manage authentication
- Look for: LTI
- Make sure the eye icon is open (enabled).
- Go to: Site administration → Plugins → Enrolments → Manage enrol plugins
- Look for: Publish as LTI tool
- Make sure this is enabled.
- Go to: Site administration → Security → HTTP security
- Enable: Allow frame embedding
- Go to: Site administration → Plugins → Enrolments → Publish as LTI tool → Tool registration
- Enter a platform name: Docebo LMS
- Click Continue
Moodle will now show a list of URLs. Leave this page open
Switch to Docebo and:
- From the Admin menu Open Training Materials.
Note: you can also do this from a course if desired - Click New
- Select LTI
- Select Version 1.3
- Enter a name: Moodle LTI Activity
- Click Next
- Enter the details from the Moodle site into Docebo as follows:
| Docebo Field | Moodle Field |
|---|---|
| Tool URL (iss) | Tool URL |
| Public keyset URL | JWKS URL |
| Initiate Login URL | Initiate Login URL |
| Redirection URIs | Tool URL |
- Click Create
- Click Settings
- Enable Share launcher's name with the tool
- Enable Share launcher's email with the tool
- Click Save Changes
- Select the Content tab
- Select Tool Settings
- Click Add Redirection URI(S)
- Add the Deep linking URL from Moodle as the 2nd Redirection URI in Docebo
- Click Save Changes
- Select Platform fields
- Leave this page open.
Back to Moodle:
- Go to Tool registration → Docebo LMS → Platform details → Edit platform details
- Copy the Platform ID from Docebo into Moodle’s Platform ID (Issuer) field
Note: If you are using a custom domain, change the docebosaas.com address to your custom domain - Copy the Client ID from Docebo into Moodle’s Client ID field
- Copy the Public keyset URL from Docebo into Moodle’s Public keyset URL field
- Copy the Access token URL from Docebo into Moodle’s Access token URL field
- Copy the Authentication request URL from Docebo into Moodle’s Authentication request URL field
- Click Save Changes
- Go to: Deployments → Add a deployment
- Copy the Deployment ID from Docebo into Moodle’s Deployment name field
- Copy the Deployment ID from Docebo into Moodle’s Deployment ID field
- Click Save Changes
- Go to the course you want to expose to Docebo
- Navigate to: Course → Participants → Enrolment methods
- Choose: Add method → Publish as LTI tool
- Set LTI Version to LTI Advantage
- Set Tool to be published to either Course, or a specific activity in the course
- Click Add method
Back to Docebo once more
- Add the activity to a course
- Preview as a learner
