The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December. Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
I currently have a piece of software that runs on LTI 1.1 and have been looking to migrate it to LTI 1.3
The application is a python Flask app. However I have really struggled to find any good resources around creating an LTI 1.3 Flask app. I would love if there was some hello world example available. The only resources I have found are these 2 examples that have been really difficult to boil down to a starting point that could be deployed to canvas:
https://github.com/ucfopen/lti-13-template-flask/blob/main/lti/main.py
Any help from someone who has gotten an LTI 1.3 flask app working in canvas would be greatly appreciated, the resources available for this have felt really difficult to decipher.
see this: https://github.com/dmitry-viskov/pylti1.3-flask-example?utm_source=chatgpt.com
This example uses flask LTI 1.3 example uses a Docker-configured demo ready to work with Canvas or any IMS‑compliant LMS .
Key files & flow:
configs/game.json: Holds the platform's config (issuer, client_id, auth_login_url, auth_token_url, key_set_url, and deployment_ids).
the Flask app exposing:
/login/ → starts the OIDC login redirect.
/launch/ → handles the LTI launch, decodes the JWT, and renders user/course info.
/jwks/ → publishes the tool’s public keys.
Hopefully this helps
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in