Celebrate Excellence in Education: Nominate Outstanding Educators by April 15!
Found this content helpful? Log in or sign up to leave a like!
Is there any documentation about using LTI 1.3 / LTI Advantage with Canvas? There's a feature option to turn it on in our beta environment but beyond that it's not clear how to get started.
lti 1.3 #lti advantage
Solved! Go to Solution.
There is more information in the Canvas Release: LTI 1.3 and LTI Advantage
This covers configuration at the Canvas end, but it doesn't help with configuration at the tool end.
For example, where do we find Canvas documentation that has things like the JWK set URL? People have managed to find or guess some of these, but where are they officially specified?
For now until we find a good home for developer focused documentation, please refer to this document.
Thanks! That's what we needed.
Why cannot the basics go under External Tools at Canvas LMS REST API Documentation
All we really need to get started is the JWK URL (https://canvas.instructure.com/api/lti/security/jwks), the authorize endpoint (https://canvas.instructure.com/api/lti/authorize_redirect) and to know that to call services we use OAuth2 as per the Canvas REST API.
I haven't heard anything official about 1.3 adoption.
There was a session at InstructureCon called Candy For Coders. They stated that 1.3 is not ready, they found issues with it and to keep using 1.1 for now. If it's in beta, it's probably to get input and test.
https://www.canvaslms.com/instructurecon/video/2018/?video=mun6emoc1u
Hi! I participate in the LTI workgroup and we have been helping the community with early implementations around LTI 1.3 platform and tools adoption.
The paint is almost dry on the LTI 1.3 core spec, and LMS platforms including Canvas have been implementing in parallel in anticipation of the spec being finalized. There is a developer feature flag available in beta now, and I believe the Canvas team is working with IMS right now to run through the LTI 1.3 certification tests, which are in the process of being implemented as I type.
Once the LTI 1.3 core spec is approved and released along with the cert tests, then the platforms can proceed with obtaining certification and rolling out support for 1.3 in their products. And once platforms are ready with their side, then tools will be able to follow.
I made a video here with an intro to LTI 1.3 and LTI Advantage and we are working on a follow up video/blog post with more info - hoping to show examples of test tools using LTI 1.3 and the IMS reference implementation.
Regards!
Linda
Hello Linda,
Thank you for this update it was very helpful, informative and easy to follow.
I do have a question for the Canvas Team. As you mention above, the 'paint is almost dry on the LTI 1.3 core spec. Do you know when this might be ready and fully dry and ready for us to have access too?
Thanks
Alice
Hi Alice - the Canvas team will have the most up to date info on their implementation and certification for sure, but the spec itself is currently in 'Candidate Final" status. This means IMS members are able to review it and begin their implementations. Once at least 2 platforms and 2 tools have been certified, the spec will be able to move to "Public Final" status. There is an IMS quarterly meeting coming up at the beginning of February, so I anticipate more info could be available around that time.
Greetings Linda and Canvas Community -
We are attempting to test our tool in LTI 1.3/Advantage. We are on our Beta Canvas site that LTI 1.3 Advantage is in Development, not BETA - can you tell us how we can test out LTI 1.3 Advantage tool now. Or do we have to wait for the status of this tool to turn to Beta. If we need to wait, can you all tell us when this will be turned on?
Thanks so much,
Alice
Hi Alice - I think the Canvas team will be the best folks to help with the specifics here, but in our experience we have been able to test tools configured with LTI 1.3 using the beta environment. Once the "LTI 1.3 and LTI Advantage" flag is enabled, there is a way to configure the tool using the Developer Keys->+ Developer Key -> LTI Key screen. Feel free to message me at lfeng@unicon.net if we can be of further assistance. Thanks, Linda
Thank you so much. Alice
Hey Linda,
Thanks for pointing out where exactly to go for LTI 1.3 setup. I am having a minor trouble in the section where we have to add the information regarding the setup. Every time I get a 422 Unprocessable Entity error. I think its regarding the Public JWK. I believe this is the key I have to generate on behalf of the LMS admin(I am rewriting our tool again for LTI 1.3 certification). Can you please help me out with how to generate this key.
Thanks.
Hi Linda,
Do you know what the correct Platform JWK Set URL to use for Canvas?
I've configured a Platform in the IMS LTI 1.3 Reference Implementation for testing my tool, which provides a JWK Set URL as the source of the platform's public keys. I'm failing to find any documentation on where to find this URL for Canvas. I see on the LTI configuration page that there is a field for "Public JWK", but it doesn't seem like this would be the key that signs launch messages. I'd expect that Canvas holds a Private key used to sign launches, which tools would then verify by using one of the public keys published at the JWK Set URL.
Another question - What is the correct OIDC Authorization Endpoint to use for Canvas, as referenced in https://www.imsglobal.org/spec/security/v1p0/#step-2-authentication-request
Thanks
To answer my own question, I think I've found the JWK Set URL:
https://canvas.instructure.com/api/lti/security/jwks
or
@tcs1 Thanks for posting this. I can now launch my tool to the first stage.
Now we just need the auth token endpoint.
Where did you find the public keyset URL?
Actually, it might be:
.../api/lti/authorize
It works!
Peter, could you provide the code and steps you followed for this 1.3 implementation? Is it the same code as here: https://community.canvaslms.com/thread/24209-hire-an-lti-consultantfreelancer?commentID=107773#comme...
No, not the same code. 1.3 is completely different to 1.1/1.2.
In terms of steps etc., we have a live test tool that shows the process and what is exchanged, but that probably won't be made public until Canvas move 1.3 out of beta and into test.
I found it by searching through the various Tools that had been created in the Reference Implementation, and found one that "Joe Canvas Test" had set up that pointed to Canvas. Thanks Joe!
Linda has done a fabulous job answering questions in this thread. I'd "guestimate" we are still 4 - 6 weeks until we'll see the IMS specifications be final and published. If you haven't yet, you can also do preliminary app testing using the IMS reference implementation. Also, we still have work to do on our LTI Advantage support to gain parity with LTI v1.1.
Currently, in the beta environment we support the core LTI 1.3 launch, Names and Roles Provisioning and the Assignment and Grades service. We support Deep Linking in the Rich Content Editor, but still have remaining work to support the other related placements in Canvas. We also currently support the course navigation placement. Additional items we are working on is moving the feature flag ability to production and re-evaluating the UI we have in place right now. We have a laundry list of feedback to consider from initial integration testing we completed recently.
Supplemental documentation to what IMS is releasing will come post release, but Linda did advise how to get to the tool configuration screen. At that point to configure the tool we are accepting a json formatted configuration similar to how we support XML configurations for LTI 1.1.
Attached is an example of the json configuration.
Is there a JSON Schema for validating the configuration files that you could point me to?
Hi,
I hope you are doing well.
Does canvas support multiple deep links?
How to add custom parameters during resource creation? Is there any specific document for Deep link in LTI 1.3 in detail?
what are the limitations of LTI advantage in the canvas that you are facing?
Please guide me about this.
We've finished some initial development to support multiple deep link returns to Canvas for non-graded items via Modules. This is working through the process to deploy out to the beta environment with our next release. Custom parameter support for deep link requests is planned, it's just not scoped and scheduled yet. These are the two optional items from the specification we are seeing the most interest in at the moment. We're also working through requirements to provide a migration path from LTI v1.1 to v1.3 in Canvas.
Deep Link Documents: Canvas specific, IMS Resources and Documents
Hi Karl, was the "development to support multiple deep link returns to Canvas for non-graded items via Modules" ever completed? If so is there documentation for tools to utilize to properly implement?
Not sure if I'm mistaken, but according to the IMS Global website, 1.3 seems to be out and finalized... Canvas is listed as LTI 1.3 certified as of version 2019.1.29 (Canvas Certification).
Edit: Looks like it's still in Candidate Final status and not Final status? But Canvas is certified...
Hi there! So you are correct that Canvas has achieved LTI 1.3 certification (LTI 1.3 Consumer, LTI Advantage Complete), however this was one of the pre-requisites for the spec to go to final vote before the IMS Technical Advisory Board (TAB). That vote just started yesterday and will close later this month, after which I believe IMS will likely announce the Public Final version of the spec. If you are an IMS member, you should be able to view the Candidate Final version now - and your TAB rep may be involved already in the voting process.
So LTI 1.3 is still not quite out in Public Final - but it's looking like it could happen as soon as late April.
So now that the spec IS public Final, when should we expect to see documentation on how to set up LTI 1.3 integrations?
There is more information in the Canvas Release: LTI 1.3 and LTI Advantage
This covers configuration at the Canvas end, but it doesn't help with configuration at the tool end.
For example, where do we find Canvas documentation that has things like the JWK set URL? People have managed to find or guess some of these, but where are they officially specified?
For now until we find a good home for developer focused documentation, please refer to this document.
Thanks! That's what we needed.
Why cannot the basics go under External Tools at Canvas LMS REST API Documentation
All we really need to get started is the JWK URL (https://canvas.instructure.com/api/lti/security/jwks), the authorize endpoint (https://canvas.instructure.com/api/lti/authorize_redirect) and to know that to call services we use OAuth2 as per the Canvas REST API.
Peter, thats the API documentation for listing and updating tools via the API so it would be confusing. I think a dedicated part somewhere else in those docs to LTI specifics including placement would be great however.
I meant the "External Tools" section --- bold heading near the end of the page, not the alphabetically-in-order "External Tools" link to "External Tools API".
Thank you
With the latest documentation update the standard documentation on https://api.instructure.com has been updated to reference LTI 1.3.
There is a nice overview of LTI 1.3 for developers on Configuring LTI Advantage Tools - Canvas LMS REST API Documentation
Has anyone got any examples of code for this, especially in PHP?
We're working on an LTI at the moment that includes passback, but have been having documentation issues working out how to do it in LTI 1.1. Now we're on the cusp of getting them resolved (waiting for a response to a support ticket, to check why the XML I sent it failed as the OAuth bit seems to be working well at least not erroring), I read we should be considering doing passback differently.
As a quick fudge, we used an API key for our site to pass the grade back (as we get the course, assignment and user IDs) and that works. But the plan is to roll this LTI out to other institutions so if there's a more universal API-key-free way of doing this I think we should be implementing it before it gets that far.
Hi Dave - apologies for the delay - have you seen this library? GitHub - IMSGlobal/lti-1-3-php-library
We made a video recently featuring Martin Lenord of Turnitin who shows how to use the library to do assignment and grades as part of our LTI Spotlight video series here. You can find links and more details here: https://www.youtube.com/watch?v=YOg_mZ6bWXg&feature=youtu.be
And there is also the ceLTIc Project's PHP library for LTI which has been updated to include support for LTI 1.3/Advantage. It can be found at github.com/celtic-project/LTI-PHP/ and has a sample app to illustrate its use.
To participate in the Instructure Community, you need to sign up or log in:
Sign In