LTI Variable Parameters Missing

Jump to solution
JakeRowland
Community Member

Developing an application that needs to know the logged in user id when linking from the module to the paged served by the LTI external application.

Integrated the OIDC flow and redirects the response from successful id_token creation to the link 'my.server/tool/launch'. I need this address to receive body parameters with the canvas user's id for customizing the visual based on their user specific data.

JakeRowland_0-1617815916827.png

Are added as custom fields to the LTI Developer Key that is associated with the external application linked in the module.

However, on investigation of every call to and from the server. To the server that serves the frontend React, there have been no additional parameters passed anywhere. Not as body, queryParams, nothing.

I have looked online, at the documentation, I havent been able to find any specifics on how, when, or where these custom fields are passed. I have changed the privacy level of the key to try and pass Canvas ID and SIS according to https://community.canvaslms.com/t5/Question-Forum/Using-the-API-how-do-I-get-the-user-s-info-with-th.... Just to get something.

If there is any help you can provide that would be greatly appreciated. I simply need some form of identification so that I can associate whoever is using the frontend served application with a unique canvas user that has already authenticated and accessed the application through the module. If there are ways other LTI Variable Substitution. Please let me know.

I have seen
https://community.canvaslms.com/t5/Question-Forum/Passing-Parameters-to-LTI-Launch-URL/td-p/222652

https://canvas.instructure.com/doc/api/file.tools_variable_substitutions.html

https://www.imsglobal.org/specs/ltiv1p1p1/implementation-guide#toc-9

 

Labels (1)
0 Likes
1 Solution
JakeRowland
Community Member

For anyone who stumbles upon this question wondering where the data is accessed from. Through the OpenID Connect flow, an id_token is return that is a json web token that contains information from the lti tool about state and info passed the the tool. In the json web token, custom fields are added there.

View solution in original post