[ARCHIVED] LTI 1.3: Open in new tab
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi! I'm working on a LTI 1.3 tool implementation (and have already got it working on the tool side with the reference implementation). I am having some trouble with Canvas however: my LTI 1.3 implementation does not support loading from within an iframe because the browser is (probably rightfully) eating my CSRF/state cookies if loaded in such a context, causing the initiation to fail. I know I can mess with the cookie properties so the browser will stop eating them, but I am not interested in evaluating the security implications of doing so at this time.
As such I'd much rather simply have Canvas open my tool in a new tab.
There have been questions on this forum about this before: https://community.canvaslms.com/t5/Question-Forum/What-are-LTI-settings-to-open-in-new-tab/m-p/23103... and https://community.canvaslms.com/t5/Developers-Group/How-to-configure-XML-for-LTI-to-open-in-new-tab/..., however both of those are using XML, implying they are for previous versions of LTI. I don't see anything in the JSON setup file documentation regarding how to do this, and I haven't seen anything in the UI (though I have not explored all the corners of it).
Reading the Canvas source code, it looks like there's something in app/views/lti/_lti_message.html.erb about this, and some kind of new_tab attribute that may or may not exist for LTI links? I am not a Ruby expert, and don't know how to trace it any further in the source code.
Anyone know how to do this?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @jade_ ,
I think this is documented under 'Naviagtion tools' > 'placements'. For as far as I can tell it only seems possible if you use the Account or Course placement. I believe you can do this by adding the windowTarget: _blank parameter in your JSON. I`m not an expert on this though.
{ "title":"Cool Course Navigation Tool ", "scopes":[], "extensions":[ { "domain":"coursenavexample.com", "tool_id":"course-nav", "platform":"canvas.instructure.com", "settings":{ "text":"Cool Course Navigation Tool Text", "icon_url":"https://some.icon.url", "placements":[ { "text":"Cool App Dashboard", "enabled":true, "icon_url":"https://some.icon.url", "placement":"course_navigation", "message_type":"LtiResourceLinkRequest", "target_link_uri":"https://your.target_link_uri/your_dashboard",
"windowTarget": "_blank" } ] } } ],
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.