microsoftarchive / Learn-LTI

Access the Microsoft Learn http://docs.microsoft.com/learn Catalog of Learning Paths and Modules directly from your Learning Management Systems using the Microsoft Learn LTI application
https://microsoft.github.io/Learn-LTI/
MIT License
127 stars 50 forks source link

Cannot find external tool in Canvas #85

Closed molenaar closed 3 years ago

molenaar commented 3 years ago

If this is about an issue in the guides

Cannot find external tool in Canvas

Describe the issue In the educator guide when adding an assignment in Canvas I am not able to find any tool.

Select Load This Tool In A New Tab. Click Find. Select the name of the tool you configured during deployment and configuration and click Select. Fill the rest of the assignment details as per your requirement.

Expected behavior I should expect the tool I configured. Not sure if I have to add the launch url manually.

nehalilani commented 3 years ago

Hi @molenaar,

Thanks for reporting this issue. There are a few things that might be causing this behavior. Please make sure that the following settings are configured correctly -

  1. To add the tool in Canvas, while configuring the Developer key, Under Placements, make sure Link Selection and Assignment Selection are selected.
  2. The external tool must be installed in the External Apps page in Account Settings.

The steps to configure the tool are mentioned in this CONFIGURATION_GUIDE

leestott commented 3 years ago

@molenaar did this resolve your problems.

molenaar commented 3 years ago

Not really. image

I have selected the Link Selection and Assignment Selection, however I noticed, the target URLs where empty. Do I have to enter the Launch URL as the Target Link URI in both sections?

I tried it and now it seems to work. I am able to select the configured MSLearn Canvas app: image

After that I can see the LTI link to open the tool: image

and it give me a "Could not validate request" error image

So some steps further, but not there yet.

Perhaps you need to clarify the instructions what to do after adding the Link Selection and Assignment Selection options.

nehalilani commented 3 years ago

Hi @molenaar ,

You don't need to enter the Launch URL as the Target Link URI in the 2 sections.

For the "Could not validate request" error, please make sure that all the fields are correctly filled while registering the tool and filling tool's platform registration page.

leestott commented 3 years ago

@molenaar did this resolve your issues the two specific docs you should be following are

https://github.com/microsoft/Learn-LTI/blob/main/docs/DEPLOYMENT_GUIDE.md

And

https://github.com/microsoft/Learn-LTI/blob/main/docs/CONFIGURATION_GUIDE.md#Canvas-LMS

Avihai-H commented 3 years ago

Hi @molenaar, did you resolve your issues? I got the same error.

molenaar commented 3 years ago

Nope, {"Message":"Could not validate request."}

leestott commented 3 years ago

@molenaar Can you check you have a Azure Active Directory connected to your users.

Check AAD, and NRPS is working.

We have seen recent issues where users emails in the LMS and AAD do not match you can receive a failure with the the tool as the email address with which the user was enrolled in the course was not the same as the AAD email- the casing being different.

Please ensure the email are the same and the case matches of the email. We have a action on our side to add case matching.

Please let us know if your issue is related to user accounts being different in AAD vs your LMS.

molenaar commented 3 years ago

I have recreated my deployment in a different resource group and I will see if thing work better. I have used the clean up script to remove all previous resources. I noticed before some trouble with the creation or the platform service plan.

I will check the accounts and make sure they match.

Thanks

molenaar commented 3 years ago

Hi @molenaar ,

You don't need to enter the Launch URL as the Target Link URI in the 2 sections.

For the "Could not validate request" error, please make sure that all the fields are correctly filled while registering the tool and filling tool's platform registration page.

Is https required? I use http for testing. My vm is in Azure so I don't use https://canvas.institute.com but https://myurltoazurevm

maleekha commented 3 years ago

Hi @molenaar,

Thank you for your patience. I am afraid you will have to configure HTTPS for supporting the tool. At our backend, we perform certificate validations for external servers, and therefore, an HTTP endpoint won't work.

Furthermore, for Canvas, regardless of the platform where your VM is hosted, the issuer field (in the tool registration) must remain intact i.e. https://canvas.instructure.com. I hope this has been taken care of.

molenaar commented 3 years ago

Is there a way to test the azure functions in the backend? I can connect to the azure functions, use the default key but its still unauthorized. Will is only work with the LMS mentioned in the documents? Or is it also possible to integrate it in a custom developed website?

leestott commented 3 years ago

Hi @molenaar please send a email to learnlti@microsoft.com with more details what issues your having we can then arrange a call to discuss this.. For troubleshooting your azure function see the troubleshooting document https://github.com/microsoft/Learn-LTI/blob/main/docs/TROUBLESHOOTING.md and this previous issue where we explain this https://github.com/microsoft/Learn-LTI/issues/55#issuecomment-694431630

At present we are only supporting LMS with the Learn LTI application - In terms of a custom solution you could use the Learn API see https://docs.microsoft.com/en-us/learn/support/catalog-api

leestott commented 3 years ago

@molenaar are you still experiencing issues using the Microsoft Learn LTI Application if you can confirm if the issue has been resolved so that we may close this issue.

molenaar commented 3 years ago

No, I gave up. I will check with Moodle or Blackboard. Canvas isn't working for me. You can close this issue.