This is Canvas LTI redirect tool which use the CAI developed LTI library
To follow the instructions below, you will at minimum need the following:
-
You need to web Proxy like Loophole or ngrok to run the application. Loophole offers custom domain
loophole http 6000 --hostname <your-host>
-
Copy the
.env.sample
file as.env
.cp .env.sample .env
-
Examine the
.env
file. It will have the suggested default environment variable settings, mostly just MySQL information as well as locations of other configuration files. -
Start the Docker build process (this will take some time).
docker compose build
-
Start up the web server and database containers.
docker compose up
-
generate Django secret using below command
python manage.py shell -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
- Need to run this command once docker container is up in order for LTI to work. This is important step otherwise the LTI tool launch won't happen
docker exec -it clrt_web /bin/bash -c \
"python manage.py rotate_keys"
- Create superuser via using `python manage.py createsuperuser', need to run a proxy like loophole or ngrok for LTI installation and login with that user. Go to https://{app-hostname}/admin/.
- Go to Canvas instance, choose Developer Keys in admin site
- Add LTI Key
- Choose Paste JSON method
- Goto
LTIRegistration
to configure an LTI tool from admin console. This will create theuuid
automatically. Hold on to that value and update theOpenID Connect Initiation Url
in the LTI tool registration from Canvas with this id.for Eg: https://clrt-local.loophole.site/init/0b54a91b-cac6-4c96-ba1e/
- use the
setup/lti-config.json
for registing the LTI tool. Replace all the{app-hostname}
with your web proxy url and uuid:lti-registration with UUID value from LTI tool registration. - Configure the LTI configuration from CLRT tool going to admin again. Give the following value. Note:
<canvas-instance>: ['canvas.test', 'canvas.beta']
- Name: any name
- Issuer: https://.instructure.com
- Client ID: (get this from Platform)
- Auth URL: https://.instructure.com/api/lti/authorize_redirect
- Access token URL: https://.instructure.com/login/oauth2/token
- Keyset URL: https://.instructure.com/api/lti/security/jwks
- DEPLOYMENT ID: get this as it is described the step 7 and paste
- Save
- Go to the Canvas(platform) add the LTI tool at account/course level and copy the deployment id by clicking the setting button next to it.
- go to the
auth_user
table and setis_superuser
andis_staff
to1
ortrue
this will give the logged user access to admin interface