tl-its-umich-edu / canvas-app-explorer

A Web application that presents a list of Canvas external (LTI) tools with details. When integrated within Canvas, the user can search for specific LTI tool(s), and add or remove those tools from Canvas courses.
Apache License 2.0
4 stars 6 forks source link

Write Custom AUTHENTICATION_BACKEND for PyLTI13 #119

Open jonespm opened 2 years ago

jonespm commented 2 years ago

PyLTI13 currently doesn't have a AUTHENTICATION_BACKENDthat can be used. So we have to login and use the ModelBackend as a fallback.

If it had it's own backend similar to these projects we could just use this rather than storing the users locally.

The negative of this would be that OAuth keys are stored per user so this might complicate things with OAuth unless we were storing the users in a database locally.

It's possible that this may not be worthwhile for this project because of OAuth, or be more difficult.

This was a sample from one LTI project. https://github.com/wachjose88/django-lti-provider-auth/blob/master/lti_provider/backends.py Here was another: https://github.com/ccnmtl/django-lti-provider/blob/master/lti_provider/auth.py