[Admin Tools] Support lti_1_3_id as prefix for user masquerading
An LTI tool integrated into Canvas can sometimes need to make an API call on behalf of the user. Sometimes OAuth2 integration can be used to prompt the user to authorize the application, but in other situations this isn't appropriate. When making an API call on behalf of a user the as_user_id parameter is passed (https://canvas.instructure.com/doc/api/file.masquerading.html) however to do this you need to either know the Canvas ID of the user, or the SIS ID of user.
All LTI 1.3 tool launches get sent the `sub` claim which is a unique ID for the user that is just used for LTI integrations. If the as_user_id parameter accepted lti_1_3_id as a prefix for the user then no additional data would need to be sent across in the LTI launch. This parameter is supported in other places in the API and is documented on: https://canvas.instructure.com/doc/api/file.object_ids.html Currently you need to send across the Canvas ID or the SIS ID in the LTI custom parameters and this complicates tool development and means you need to share more data with the LTI tool. Supporting the lti_1_3_id as a prefix would be a much simpler solution for tool developers and also bring the masquerading parameter in-line with other APIs that already support this prefix.
admin