cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
marcspringshare
Community Participant

How to Identify Context of a LTI 1.3 Tool Launch

Our LTI tool is designed to work with the "resource_selection", "editor_button", and "course_navigation" placements, via the following config:

{
"title": "New 1.3 Tool with Course Navigation Support",
"scopes": [],
"extensions": [
{
"domain": "marc.mytooldomain.net",
"tool_id": "New 1.3 Tool with Course Navigation Support",
"platform": "canvas.instructure.com",
"settings": {
"text": "New 1.3 Tool with Course Navigation Support",
"icon_url": "https://marc.mytooldomain.net/images/favicon_lti.png",
"placements": [
{
"placement": "resource_selection",
"text": "New 1.3 Tool with Course Navigation Support",
"enabled": true,
"icon_url": "https://marc.mytooldomain.net/images/favicon_lti.png",
"message_type": "LtiResourceLinkRequest",
"target_link_uri": "https://marc.mytooldomain.net/lti1p3/launch/1000",
"canvas_icon_class": ""
},
{
"placement": "editor_button",
"text": "New 1.3 Tool with Course Navigation Support",
"enabled": true,
"icon_url": "https://marc.mytooldomain.net/images/favicon_lti.png",
"message_type": "LtiResourceLinkRequest",
"target_link_uri": "https://marc.mytooldomain.net/lti1p3/launch/1000",
"canvas_icon_class": ""
},
{
"placement": "course_navigation",
"text": "New 1.3 Tool with Course Navigation Support",
"enabled": true,
"icon_url": "https://marc.mytooldomain.net/images/favicon_lti.png",
"message_type": "LtiResourceLinkRequest",
"target_link_uri": "https://marc.mytooldomain.net/lti1p3/launch/1000",
"canvas_icon_class": ""
}
],
"privacy_level": "public"
}
}
],
"public_jwk": {
"kty": "RSA",
"e": "AQAB",
"use": "sig",
"kid": "lti-jwt-id",
"alg": "RS256",
"n": "msDC1256GAw_Yt9OcpzmbIvrpymArukc3OS8-f7tnL0aIA_euhPz_M5WGGaEEsnhspNMNemIwYE41vu7DpuoeEbs9wv9TunjECikyYWy0xFv8tJvVtR1OlIFYj4it2BpCJnMdsHYuRXCvexGTo6pKzPIx-CATXgSk7Ui_djQ0vpUERTBxWUkqbKCXjPai1EWZV8yiebKL-IXPNI10CUtQO4JLhjmNCvrOHUfdV0uIEFXO51BRVh6L_QoNc1IZFAiArJvJEcT6NK6EX1wjTlPVVyeTZu4tDjW--auNaKAk011NXM9Fg-1TlW8oSNPUDBXXmshpJkCRj2ixL9Tj4CRcQ"
},
"description": "New 1.3 Tool with Course Navigation Support",
"custom_fields": [],
"target_link_uri": "https://marc.mytooldomain.net/lti1p3/launch/1000",
"oidc_initiation_url": "https://marc.mytooldomain.net/lti1p3/login/1000",
"selection_width": 1024,
"selection_height": 768
}

The tool needs to respond differently depending on the launch context.  The "resource_selection" and "editor_button" launches display a content-selection interface, while the "course_navigation" launch attempts to automatically locate content based on which course you are coming from.

My issue is that when launched under 1.3, I don't see anything that indicates the context of the launch, i.e. I cannot tell if the user clicked the tool from the Course Nav, a button in the Text Editor, or if they are adding a link to the Modules section.

Is there any way for me to determine the context of the launch?  Perhaps something I can change in my Tool configuration that will ensure the proper context is sent to me with the launch data?

Thanks!

 

Labels (2)
0 Kudos
2 Replies
matthew_buckett
Community Contributor

If you need to tell which placement the user came from are you able to customise the 'target_link_uri' value for each placement so that it is distinct?

So for example the editor target_link_uri is "https://marc.mytooldomain.net/lti1p3/launch/1000/editor", then in your tool you just look at the URL to determine how the user launched your tool.

That would work, but I was hoping to get away with having just one set of configuration URLs for all uses of the tool.  It seems like the LTI standard does not provide that info, so I will need to provide different configurations (or in our case, actual tool "types") for these two different contexts.

Thx for the reply!