Register for InstructureCon25 • Passes include access to all sessions, the expo hall, entertainment and networking events, meals, and extraterrestrial encounters.
I am currently creating a custom LTI 1.3 tool but facing problems while configuring it with canvas.
The authorization process fails when the request is to redirected to the authorization login URL of canvas which is the following for all cloud-hosted instances:
https://canvas.instructure.com/api/lti/authorize_redirect
When I use this URL, I get the error:
"status":"bad_request","message":"Invalid lti_message_hint"
I have verified that the lti_message_hint is the same when returned by the tool but this error fails to go away. I don't understand what I am doing wrong.
Our canvas instance is hosted by webhostingzone. I have also tried sending the request to the following our personal domain URL:
If I use this URL then I get the error:
{"message":"An error occurred.","error_code":"internal_server_error"}
The JSON configuration in this case is:
{
"https://canvas.instructure.com": {
"default": true,
"client_id": "10000000000xxx",
"auth_login_url": "https://learn.acehsc.com.au/api/lti/authorize_redirect",
"auth_token_url": "https://learn.acehsc.com.au/login/oauth2/token",
"key_set_url": "https://canvas.instructure.com/api/lti/security/jwks",
"key_set": null,
"private_key_file": "private.key",
"public_key_file": "public.key",
"deployment_ids": ["6:48a8d8c493e8d2aa9ce833888b4721865af0xxx"]
}
}
I don't understand what I am doing wrong and any help would be greatly appreciated, I have read each and every question on this forum multiple times and tried different combinations of the settings but nothing seems to be working.
@danishyasin33 Did you find any solution? Please let me know if you found any, stuck on the same issue.
Hi Ashish,
Yes, I figured it out. Your canvas instance's `key_set_url` should be working. If it's not, then there's an issue with your canvas configuration.
There was an issue with my canvas hosting and It's jwks url wasn't working.
How I fixed It:
My canvas hosting provider changed some configuration at the backend. They stated that they copied the `dynamic_config.yml` from the canvas Github repo and pasted it in our instance. Presumably, this got it working.
However, I couldn't find such a file on Canvas' Github, I did find a `dynamic_settings.yml` file in the config folder and I think they meant that.
After this fix, the JWKs URL got working and I could finally form an LTI connection, now the three config URL in my JSON file are:
```
"auth_login_url": "https://learn.acehsc.com.au/api/lti/authorize_redirect",
"auth_token_url": "https://learn.acehsc.com.au/login/oauth2/token",
"key_set_url": "https://learn.acehsc.com.au/api/lti/security/jwks",
```
Let me know if changing the YAML file gets it working for you. I also found that the canvas distribution provided by bitnami has the same issue.
To interact with Panda Bot in the Instructure Community, you need to sign up or log in:
Sign In
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.