Installing LTI 1.3 Tools is Easier than Ever with Dynamic Registration

The content in this blog is over six months old, and the comments are closed. For the most recent product updates and discussions, you're encouraged to explore newer posts from Instructure's Product Managers.

AlexisNast
Instructure
Instructure
15
7467

We know that the most powerful aspect of Canvas LMS is its flexibility and extensibility. With our 900+ integration partners, Canvas LMS offers educators the power to seamlessly leverage tools that are right for their students, teachers, and administrators and build a truly customized digital teaching and learning environment. That’s why we’re super excited to announce that with our latest release we’ll be supporting the 1EdTech Dynamic Registration Specification–which means it’s going to be easier than ever to install LTI v1.3 tools. 

dev keys page.png

Until now, it’s taken Canvas administrators nine or more steps to install a single LTI tool–that’s a lot of clicks, and a lot of time. Going forward, for LTI 1.3 tools that have implemented Dynamic Registration specification, we’ve reduced the necessary steps down to just six. The process is also now housed in a much more user-friendly interface that’s easy to navigate, highlights the most critical information about the install process, and reduces opportunity for error. 

your app-2.png

One of the biggest benefits of these new LTI v1.3 tool installation and management processes is that they minimize data privacy and security risks. Since the new processes were built in accordance with the 1EdTech Dynamic Registration Specification, you can feel confident they adhere to the latest data privacy best practices. With a simple checkbox design, the new interface provides clear visibility to the data permissions available and selected when installing a new tool–minimizing the risk of unintentionally allowing a tool inappropriate data access.

settings.png

LTI integrations are a key component of Canvas LMS that help educators and administrators tailor the system to their unique needs. These partner tools are critical to your success, so we’re committed to continuing to make the process of installing, managing, and using LTI tools in your Canvas LMS environment easier and more impactful. These updates are just the beginning–watch for continued LTI v1.3 installation and management updates throughout the year! 

Want to help us continue to streamline LTI processes in Canvas? Complete this short survey and we will contact you with future research opportunities!

The content in this blog is over six months old, and the comments are closed. For the most recent product updates and discussions, you're encouraged to explore newer posts from Instructure's Product Managers.

15 Comments
pwhitmer8
Community Explorer

Wonderful! Our and your customers have been waiting for this.  When will it be generally available for testing? I don't see in our sandbox. 

Edit April 22 - Looks like this has rolled out to sandboxes as well. Thank you! We're going to check it out.

BethCrook
Community Coach
Community Coach

This will be incredibly helpful!  Thank you!

jsowalsk
Community Coach
Community Coach

@AlexisNast 

Since I know this involved LTI 1.3 and EdTech1. Is this only being used if the tool is Ed Tech certified? 
 
Or how is there a difference between that and LTI Key? Is there a guide for this? Or even LTI 1.3 and LTI registration?
HaleyK1
Community Member

Hello, this is great news! I have been waiting for dynamic registration, can you please share when this will be available?

StephenBryant01
Community Explorer

All this is great, however, Canvas seems to have forgotten those of us using the Free For Teachers version.  Without "Admin" abilities you cannot add developer codes.  My specific issue is Pearson / Mylab integration, but I have seen other questions regarding this issue. 

Is anything being done to empower Canvas FFT users to have full LTI 1.3 functionality? 

mmoore1
Community Contributor

Stephen, 

I am so sorry that you are struggling with the Pearson / MyLab Integration in the Free for Teachers version.  Has your institution thought about adopting Canvas on a larger scale?

StephenBryant01
Community Explorer

Thank you for your reply.

 

Alas, we are a small, 501C3 organization.  We Canvas is a great tool that we use in instructing Basic EMTs, Advanced EMTs, and Paramedics.  We work very hard to make our classes affordable in order to facilitate as many students learning to serve the community as possible.  The startup cost of Canvas paid would add a large financial cost increase that would have to be passed on to students.  Currently, it is simply cost prohibitive. 

I am a huge fan of Canvas and have been impressed with the way they have aided the teaching community with the FFT version.  I am disappointed that adoption of the LTI 1.3 standard may serve to make the FFT version of Canvas less useful to small organizations.  

 

Regards,

 

Stephen

mzucal
Community Contributor

Will this apply retroactively to other LTI 1.3 providers? I am thinking specifically of publisher LTI's. Will Instructure be requiring vendors and partners to be 1EdTech certified? 

 

pwhitmer8
Community Explorer

For what it's worth, the new tool registration flow seems available whether you're certified or not. Our company is not, although we are testing towards and plan to be. Note that 1EdTech certification is not free (or easy), so I hope that Instructure doesn't mandate it for use on the platform. 

Any existing LTI 1.3 tool will have to do work to enable using this new registration flow. I would imagine any of the big publishers will start using once proven out, since it really simplifies the process. We incorporate in our flows for other (ahem) LMSs, and don't anticipate the incremental work to support will be large. 

AlexisNast
Instructure
Instructure
Author

@jsowalsk This is available for all LTI tools, they do not have to be 1EdTech certified. This method creates a developer key, but the process has fewer opportunities for errors in copying/pasting information.

@StephenBryant01 We haven't forgotten you! We are working on plans on how to make LTI 1.3 tools available to Free For Teachers. I wish I could share a timeline with you, but we are aware of the problem and working towards finding a solution.

 

@mzucal All LTI 1.3 providers can use this service, but there is no need to use it for a tool you already have installed since it's just a new method for installation. That said, if you need to reinstall for any reason, it's a great option! The only caveat is that the tool will need to have done the work to enable this method from their side as well.

 

@HaleyK1 This is available now!

richard015ar
Community Member

Hi!
I started to integrate it with Pressbooks and I am getting an unexpected error when trying to dynamically register the Pressbooks Tool I get:

{"errors":[{"field":"lti_tool_configuration","message":"The following fields are required: domain, messages, claims","error_code":null}]}

 

This is the payload I am sending:

 

 array:12 [▼
  "application_type" => "web"
  "redirect_uris" => array:1 [▼
    0 => "https://my-pb-tool.com/format/lti/launch"
  ]
  "response_types" => array:1 [▼
    0 => "id_token"
  ]
  "grant_types" => array:2 [▼
    0 => "implicit"
    1 => "client_credentials"
  ]
  "initiate_login_uri" => "https://my-pb-tool.com/format/lti/login"
  "token_endpoint_auth_method" => "private_key_jwt"
  "client_name" => "Pressbooks Tool"
  "client_uri" => "https://my-pb-tool.com/"
  "jwks_uri" => "https://my-pb-tool.com/format/lti/public_jwk"
  "scope" => "
https://purl.imsglobal.org/spec/lti-ags/scope/lineitem https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly https://purl.imsglobal.org/spec/lti-ags/s
 ▶
"
  "logo_uri" => "https://my-pb-tool.com/app/themes/pressbooks-book/dist/images/favicon-32x32.png"
  "https://purl.imsglobal.org/spec/lti-tool-configuration" => array:5 [▼
    "domain" => "my-pb-tool.com"
    "target_link_uri" => "https://my-pb-tool.com/"
    "claims" => array:5 [▼
      0 => "sub"
      2 => "name"
      3 => "given_name"
      4 => "family_name"
      5 => "email"
    ]
    "messages" => array:1 [▼
      0 => array:4 [▼
        "type" => "LtiDeepLinkingRequest"
        "target_link_uri" => "https://my-pb-tool.com/format/lti/deep_link"
        "placements" => array:2 [▼
          0 => "assignment_selection"
          1 => "course_assignments_menu"
        ]
        "supported_types" => array:1 [▼
          0 => "ltiResourceLink"
        ]
      ]
    ]
    "description" => "An LTI registration for https://my-pb-tool.com/"
  ]
]


I am following documentation defined at: https://canvas.tstc.edu/doc/api/file.registration.html

 

Am I missing something? I can see the required parameters are there.
Important note: The same method and strategy implemented on Pressbooks is currently working for: Moodle, Blackboard and D2L.

 

chriscas
Community Coach
Community Coach

Hi @richard015ar,

While I don't have a solid answer for you, I'm wondering if you're sending exactly what you pasted here, or if that is from a programming language that is converting your code there to JSON (which is what Canvas will generally expect, and is shown in the documentation).  I ask this because what you have in your message is not JSON, and I'm not sure how what you pasted translates to JSON.  It seems maybe something isn't translating to the correct JSON format, but this is just a guess on my part.  If you have a way to show us the JSON syntax being sent to Canvas, that might be super helpful.  You may want to post this question in the Developers Group as well as there are some code-savy users who hang out there and may be able to help more.

-Chris

richard015ar
Community Member

Thank you @chriscas, I'll post this on the Developers group. The original payload is a JSON, yes. This is just a custom output I use for debugging.

richard015ar
Community Member

For the record, I found the problem, it was on the claim array, it was an incorrect array format.

AlexisNast
Instructure
Instructure
Author

@richard015ar Glad you were able to figure this out! It also looks like you're a partner, so you're always welcome to reach out to our Partner Support team as well! From your sandbox you can use the Help icon to submit a ticket.