To Our Amazing Educators Everywhere,
Happy Teacher Appreciation Week!
Found this content helpful? Log in or sign up to leave a like!
The "target_link_uri" documentation is very confusing when it comes to including multiple URLs. Specifically, the documentation for this value in the JSON config states: "This can be set at the tool-level, or within the "placements" JSON object for placement-specific target_link_uri's". However, if you don't set the value at the tool-level you get an error. I have different URLs for my placements which I have set on the placement level, but when I add the Developer LTI Key and use the URL method, the "Redirect URIs" field is only ever populated with the top level, tool-level URL. There also is no documentation (that I could find) that explains how to separate Redirect URIs in that field but after some testing I found that spaces work. With that knowledge about spaces, I tried setting the tool-level target_link_uri value to include multiple URLs separated by spaces, but throws an error (Configuration error: ["Tool url Incorrect url for..."]). So how do I get multiple URLs to automatically sync into the Redirect URIs field on the Add LTI Key settings page?
Config:
{
"title": "My App",
"description": "Direct linking to my app.",
"oidc_initiation_url": "https://some.website/lti/init_login",
"target_link_uri": "https://some.website/lti/auth",
"scopes": [],
"extensions": [
{
"domain": "myapp.com",
"tool_id": "myapp",
"platform": "canvas.instructure.com",
"privacy_level": "public",
"settings": {
"text": "My App",
"icon_url": "https://www.myapp.com/logo.svg",
"windowTarget": "_blank",
"placements": [
{
"placement": "course_navigation",
"message_type": "LtiResourceLinkRequest",
"target_link_uri": "https://some.website/lti/auth",
"custom_fields": {
"sis_course_id": "$Canvas.course.sisSourceId",
"course_id": "$Canvas.course.id"
}
},
{
"text": "Specific assignment",
"placement": "assignment_selection",
"message_type": "LtiDeepLinkingRequest",
"target_link_uri": "https://some.website/lti/assignment_selection",
"custom_fields": {
"sis_course_id": "$Canvas.course.sisSourceId",
"course_id": "$Canvas.course.id",
"assignment_id": "$Canvas.assignment.id"
}
}
]
}
}
],
"custom_fields": {
"canvas_org_guid": "$ToolConsumerInstance.guid"
},
"public_jwk_url": "https://some.website/lti/public_jwk"
}
Solved! Go to Solution.
I settled with just using query parameters so I only need one URI in the `target_link_uri` field, but if anyone sees this and has a solution I'd love to hear it. It would be awesome if Instructure could clarify in their docs how this works.
I settled with just using query parameters so I only need one URI in the `target_link_uri` field, but if anyone sees this and has a solution I'd love to hear it. It would be awesome if Instructure could clarify in their docs how this works.
To participate in the Instructure Community, you need to sign up or log in:
Sign In