LTI 1.3 Connection Bug

The LTI 1.3 connection URL has a couple minor syntax errors that need to be fixed. Below is the string that it generated with sensitive info omitted or masked. I am making the bugs bold.
https://moodle.org/enrol/lti/login.php?id=masked**?**iss=https%3A%2F%2Fopenedx.org&client_id=masked**8**&lti_deployment_id=1&target_link_uri=https%3A%2F%2Fmoodle.org%2Fenrol%2Flti%2Flaunch.php&login_hint=masked**6**&lti_message_hint=masked

Note that moodle.org is my Moodle instance and openedx.org is my Open edX instance, but I am again using these values for privacy.

Wherever the LTI connection string is being generated needs some slight tweaks. Right now the iss= string has a ? prefix when its position in the string requires the & prefix. There are a couple other cases where && appears in the string when only a single & would suffice. As things currently stand, this prevents using LTI 1.3 tools in Open edX.

In order to reproduce, add the “lti_consumer” in the advanced course options and try to set up an LTI 1.3 link in the unit section. The “Deep Linking Launch” link after publishing is where this bug occurs. As a short term work around I can copy the link and quickly make the edits before the signatures expire.

Hi @definitivequestion and welcome to the community!

It is probably best to file an issue on GitHub: Issues · openedx/xblock-lti-consumer · GitHub

When you file the issue it would be great to provide a link to it in this thread, so others can easily find it.