canvas-lms icon indicating copy to clipboard operation
canvas-lms copied to clipboard

LTI 1.3 resource_link id from module launch cannot be set on lineitems

Open Dantemss opened this issue 4 years ago • 1 comments

Summary:

If you add an LTI 1.3 tool to a course as a module, Canvas uses the course's lti_context_id as the resource_link claim's id attribute (the claim is inside the "https://purl.imsglobal.org/spec/lti/claim/resource_link" key in the id token) during launch, which is totally fine. However, if you later try to create a lineitem and set its resourceLinkId to that value, Canvas fails with {"errors":[{"message":"The specified resource does not exist."}]}

Steps to reproduce:

  1. Create LTI 1.3 tool and add it to the course as a module
  2. Launch the tool from module and note down the resource_link claim's id value from the id token
  3. Attempt to create a lineitem with the resourceLinkId set to that value

Expected behavior:

The lineitem is created

Actual behavior:

The lineitem creation fails with {"errors":[{"message":"The specified resource does not exist."}]}

Additional notes:

Dantemss avatar Sep 29 '21 16:09 Dantemss

I have the same issue. @Dantemss did you find the solution?

Oleksandr-Sharamko avatar Mar 16 '22 13:03 Oleksandr-Sharamko