Deep linking LTI External Tool
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So my tool creates bits of user generated content, and it is very handy to be able to provide a url that links directly to one of those pieces of content. However I can't passes any arguments to the external tool definition that canvas uses to perform the basic lti launch
I want to be able to do something like this
https://canvas/courses/14/external_tools/25?link=/deep/content/link => https://my.tool.url/lti?link=/deep/content/link
I understand that canvas does not currently repackage GET params, from the launch link back into the basic_lti_launch, however I am looking for a solution that can achieve this same effect.
Is there any other way to accomplish this, where I can pass arbitrary url parameters thru to the external tool launch?
Clarification:
This needs to be a solution that doesn't require any admin rights, i.e. a student can generate the url for sharing etc..
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here is the workaround that I ultimately settled upon .. and it is working well.
I created a page inside my application that acts as a redirector (lets call it deeplink); the code flow works like this
- /deeplink?redirect=/path/to/deep/content
- the page body for deeplink takes the redirect param and puts it in a cookie and redirects to an LTI app installed inside canvas. i.e. forward to: https://canvas/courses/14/external_tools/25
- Then that external tool forces an LTI Launch on my application /deeplink
- now the page body checks and sees the existence of a redirect cookie and redirects the user to the appropriate page.