The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December.
Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
I'm in the process of adding support for LTI Content-Item to our tool, and have found that Canvas does not send certain parameters that we depend on when explicitly enabling Content-Item support using
<lticm:property name="message_type">ContentItemSelectionRequest</lticm:property>
We're expecting things like
tool_consumer_info_product_family_code
lis_person_*
custom_canvas_user_login_id
in order to identify the Canvas user, but they appear to be missing in this case.
Is there some configuration setting that I'm missing to enable passing of these parameters, or is there a different/preferred approach to gathering this information from Canvas as part of a ContentItemSelectionRequest launch?
@jmpease for the variables you specifically listed I am receiving the following values on launch request from Canvas:
Are you inspecting the actual request? Or are you inspecting values that are being passed to you from another layer in the application?
Here is a screenshot of the exact params I am receiving from Canvas in the launch request:
Thanks for looking into this @garth
Can you verify that the "lti_message_type" in your case is "ContentItemSelectionRequest", rather than "basic-lti-launch-request"? I suspect not as I don't see required LTI Content-Item message parameters such as "content_item_return_url" in your form data. When using the latter message type I do indeed see the expected parameters passed in the launch request.
Here's a screenshot showing a relevant portion of the form data in a "basic-lti-launch-request":
Here's a screenshot showing the entirety of the form data in a "ContentItemSelectionRequest":
As mentioned, the only difference between the two tool configurations is that the latter is using
<lticm:property name="message_type">ContentItemSelectionRequest</lticm:property>
@jmpease I apologize, I overlooked the message type in your original post.
I am not using the "message_type" in my lti config.
If I put it in, the fields you reference are removed from the launch request.
Looking at documentation at IMS Global: 3 Information Model | IMS Global Learning Consortium
Specifically "3.1 Example Request", it seems the values you are looking for should be there.
I have not implemented this call in our LTI, you may want to contact Canvas directly regarding this.
I am new to LTI and working as a Tool Provider. I am able to launch the URL from canvas and i am not getting following values and displayed as null as i need that. I am using LtiMessageType as "basic-lti-launch-request". I have the email address, name but still the values are coming as null. Please let me know do i need to do any special request to get the details from Canvas.
You should be able to get names and email, see https://community.canvaslms.com/message/130950-lti-launch-url-with-localhost-address-for-development...
Most of the others probably are not passed. Custom variables may give access to some.
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in