Interfacing an external tool with LTI 1.3

Interfacing an external tool with LTI 1.3

by Thomas Girod -
Number of replies: 7

Hello everyone,

I'm trying to grasp how LTI 1.3 works in order to interface a tool we are developing with moodle - and I must admit I'm struggling a bit.

My first question is about authentication.

In LTI terms, moodle is the platform, our software is the tool. The LTI 1.3 standard is based on OpenID Connect (OIDC), and the platform is serving as the identity provider. So I guess moodle should expose the OIDC API, documented at a well known address (.well-known/openid-configuration).

I installed moodle locally to try this out, but couldn't find any trace of a OIDC API, not even in the sourcecode. Am I missing something?
Average of ratings: -
In reply to Thomas Girod

Re: Interfacing an external tool with LTI 1.3

by Pierre-Yves Dufays -
Hi,

I am asking myself the same question.
In the IMS library to build tool providers https://github.com/IMSGlobal/lti-1-3-php-library, you have to provide:
- The platform's OIDC login endpoint
- The platform's service authorization endpoint
- The platform's JWKS endpoint
Sakai provides them all but I cannot find them for moodle (version 3.7).

If someone has any clue about that it will help me a lot ...
Thanks
In reply to Pierre-Yves Dufays

Re: Interfacing an external tool with LTI 1.3

by Srinivas Jonnala -
All this info is provided by moodle after you create your LTI 1.3 External Tool in Moodle UI.
Path in moodle: "Site administration -> Plugins -> Activity modules -> External tool".
You need to login as a moodle admin to access the UI.

After you create an external tool, the following info can be seen in the tool configuration details ui.

Platform ID: /moodle
Client ID: Deployment ID: Public keyset URL: /moodle/mod/lti/certs.php
Access token URL: /moodle/mod/lti/token.php
Authentication request URL: /moodle/mod/lti/auth.php

This is all the info you need to get started.
Average of ratings: Useful (1)
In reply to Srinivas Jonnala

Re: Interfacing an external tool with LTI 1.3

by Pierre-Yves Dufays -
Thank you very much, it was right in front of my eyes but I didn't see it!
In reply to Pierre-Yves Dufays

Re: Interfacing an external tool with LTI 1.3

by Jim Davis -

I don't see it. Is there a button or something? All I see are the settings that I entered. (This from Site admin / Plugins / Activity modules / Manage activities / Edit preconfigured tool)

Can someone post a screenshot that shows where to find the "tool configuration details ui"?

I am using Moodle 3.8

In reply to Jim Davis

Re: Interfacing an external tool with LTI 1.3

by Joost van Doremalen -

I'm also looking for the tool configuration details as shown in this screenshot: https://github.com/SanDiegoCodeSchool/lti-node-library/blob/master/Moodle_Tool_Config.png

on my moodle server; but I can't seem to find it. Any hints?

EDIT:
Never mind, found it by clicking on the second icon (the 'list' icon) here:

In reply to Joost van Doremalen

Re: Interfacing an external tool with LTI 1.3

by Rohit Shirsath -
Hi,

I have a few questions about LTI 1.3. Please guide me about that.

1.During LTI 1.3 tool launch, login authorization launch parameters only contains below sample details:

iss => https://xyz.moodlecloud.com
target_link_uri => https://lxyz.com/launch
login_hint=> 2
lti_message_hint=> 0

We are not getting either client_id or deployment id after tool launch.

Will the launch parameters remain the same or will it be changed/updated by moodle in the future?

2. When I am trying to submit grades, I am getting below error response from moodle.

"body": {
"status": 400,
"reason": "No handler found for /8/lineitems/33/lineitem application/vnd.ims.lis.v1.score+json",
"request":

{ "method": "POST", "url": "/mdl371/mod/lti/services.php/8/lineitems/33/lineitem?type_id=5/scores", "accept": "application/json", "contentType": "application/vnd.ims.lis.v1.score+json" }
}
In reply to Rohit Shirsath

Re: Interfacing an external tool with LTI 1.3

by Laxman Mankala -

Did you get any solution for clientId as parameter while launching 1.3 tool?