A login to Drupal through LTI story

We are developing our new library website in Drupal and we need to allow our users to log in through their Campus username and password. Our Drupal installation has no loaded information about our users, so it will rely on the user data that Campus application (our LMS) gives to it. First of all, an user will log in the Campus application and then the user data will be passed to Drupal through an LTI call. Here’s the tutorials on how LTI tools work.

Learning Tools Interoperability (LTI)™ is a specification developed by IMS Global Learning Consortium. The principal concept of LTI is to establish a standard way of integrating rich learning applications (often remotely hosted and provided through third-party services) with platforms like learning management systems, portals, or other educational environments.

For this purpouse we have been developing a Drupal module for log in through LTI by adapting a basic LTI tool provider. The basic flow of this Basic LTI module is that the LMS launches the tool with a number of POST parameters that are signed OAuth with a secret shared by both the LMS and the LTI module. When the LTI module receives the user data in form of POST parameters, it logs in the Drupal user with its username, previously creating a new Drupal user if it doesn’t exist yet. As the library website user roles are different from that in the Campus, a role mapping is previously made through a conversion table.

This is an example of a LTI consumer we have been using to perform our initial tests to our Drupal module.

UOC has contributed with some tools to the catalog of LTI tools certified by IMS Global, and some of them are available on the Learning Apps store.

About this post

This post was first published on LibTechNotes, a blog from the Library team at the Universitat Oberta de Catalunya to share our everyday findings, solutions and inspirations.