LTI-Basic Authentication: Difference between revisions

From WeBWorK_wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 1: Line 1:
=Under Construction=
= LTI-Basic Authentication =
== Under Construction ==
 
The Learning Tools Interoperability (LTI) protocols provide a means to interface
a Learning Tool, e.g., WeBWorK, with a Learning Management System (LMS), e.g.,
Angel, Blackboard, Canvas, Moodle, and Sakai.  The LTI protocols
are defined by the IMS Global Learning Consortium
([http://www.imsglobal.org/lti/ Learning Tools Interoperability home page]).
 
Basic LTI (i.e., LTI 1.0) provides a protocol for authenticating
from an LMS to a Learning Tool (LT) and passing information such
as names, email addresses, and roles (e.g., Instructor, Learner)
from the LMS to the LT.  Basic LTI is roughly comparable to
the initial Moodle-WeBWorK integration at the University of Rochester.
Basic LTI is presently supported by most LMS's
(see the table at the bottom of the page [http://www.imsglobal.org/cc/statuschart.cfm
IMS Interoperability Conformance Certification Status]).
 
LTI 1.1 (full LTI) will (eventually) provide additional protocols for returning
data from a LT to the LMS.
 
The WeBWorK group at Indiana University Bloomington began developing an LTI-Basic package
for WeBWorK in the summer of 2011.  We have used LTI-Basic for authentication
from the Sakai LMS to WeBWorK since September, 2011.
The perl module WeBWorK::Authen::LTIBasic and instructions for additions
and modifications to other WeBWorK modules and configuration files
will be posted on the MAA WeBWorK site by the end of May.
 
If your institution uses an LMS that has support for Basic LTI (i.e., LTI 1.0)
and you would like to begin testing how to use it to connect to WeBWorK,
then we host a WeBWorK test site to which you may connect.
 
=== Instructions for using LTI Basic to connect to the IU Bloomington WebworkLTIBasic site ===
 
Configure the LMS's LTI Basic tool with the following parameters:
 
  Domain/URL:  https://estudy11.iu.edu:8082/~estudy11/webwork2/WebworkLTIBasic
 
  Consumer key:  webwork


  Shared Secret:  webworkLTIB


= LTI-Basic Authentication =
Also, the LTI Basic tool must send a username and/or an email address,
in the form:
 
  lis_person_sourcedid=wheeler
  lis_person_contact_email_primary=wheeler@indiana.edu
 
(lis_person_sourceid and lis_person_contact_email_primary
are part of the LTI specification, so it should be possible
fo the LTI Basic interface to send them, but some
instances of LTI Basic interfaces (e.g., Canvas) require
some tweaking.)
 
The WeBWorK::Authen::LTIBasic module
will use the value of the lis_person_sourceid parameter as the WeBWorK username
if it is present.  If the lis_person_sourceid parameter is undefined,
then the module will use the value of the lis_person_contact_email_primary parameter
as the WeBWorK username.
 
On the first occasion on which a user authenticates to a WeBWorK site
using LTIBasic, the WeBWorK::Authen::LTIBasic module will create
the user record for the user and assign the user versions
of all of the existing WeBWorK problem sets.  For purposes
of security, the user will be assigned a permission value of 0,
regardless of the user's LMS role.  This permission can subsequently
be increased using the standard WeBWorK tools.
 
If one can use the LMS's LTI Basic tool in a debug mode that
will show the parameters it is sending, then one can compare
them to the following parameters that Sakai/Oncourse sends:
 
------
 
  BasicLTI Endpoint
  https://estudy11.iu.edu:8082/~estudy11/webwork2/WebworkLTIBasic
 
  BasicLTI Parameters:
  user_id=wheeler
  lis_person_name_full=William H. Wheeler
  context_id=a75a6608-3698-4b62-803d-063040fce113
  context_title=Math Tools Pages
  oauth_signature=cDU1GfReli3QDeprOJwWv23ukq0=
  oauth_nonce=468921706075144
  lti_message_type=basic-lti-launch-request
  resource_link_description=Linking to WeBWorK@IU
  resource_link_id=109f9125-c711-4151-8601-4567518aed82
  ext_sakai_serverid=esoncprd11
  roles=Instructor
  oauth_signature_method=HMAC-SHA1
  oauth_callback=about:blank
  lis_person_name_family=Wheeler
  lis_person_contact_email_primary=wheeler@indiana.edu
  context_label=Math Tools Pages
  basiclti_submit=Press to continue to external tool.
  lis_person_sourcedid=wheeler
  launch_presentation_locale=en_US
  ext_sakai_server=https://resources.oncourse.iu.edu
  ext_sakai_session=5757ec78346099f129bb771043d0d1d5134b16de4692e8a05332f7c7e79be50c24039d7b92e774cb
  oauth_timestamp=1331327382
  lis_person_name_given=William H.
  lti_version=LTI-1p0
  oauth_version=1.0
  oauth_consumer_key=webwork
  resource_link_title=WeBWorK LTI
 
Alternatively, in order to find out what parameters one's LTI Basic tool
is sending, one may change the URL to
 
  https://estudy14.iu.edu:8082/~estudy14/oauthTest2.pl
 
One should get back a message that Oauth verification either succeeded
or failed and then a list of the parameters that LTI Basic tool sent.
 
If the Oauth verification succeeded but one cannot connect
to the WebworkLTIBasic site, then one should check
whether the LTI Basic tool is sending the
lis_person_sourcedid parameter and/or the
lis_person_contact_email_primary parameter.
 
=== Note:  Use Firefox 3.5 or later for the WebworkLTIBasic site ===
 
We use MathML
for mathematics provided that the browser is Firefox 3.5 or later.
 
Internet Explorer will fail on our WeBWorK problems, because we use
a mime type of XHTML + XML + SVG for WeBWorK problems.
 
With Safari and Chrome, the default WeBWorK display mode is "formatted
text".  (We'll be changing that this summer.)

Revision as of 00:02, 19 May 2012

LTI-Basic Authentication

Under Construction

The Learning Tools Interoperability (LTI) protocols provide a means to interface a Learning Tool, e.g., WeBWorK, with a Learning Management System (LMS), e.g., Angel, Blackboard, Canvas, Moodle, and Sakai. The LTI protocols are defined by the IMS Global Learning Consortium (Learning Tools Interoperability home page).

Basic LTI (i.e., LTI 1.0) provides a protocol for authenticating from an LMS to a Learning Tool (LT) and passing information such as names, email addresses, and roles (e.g., Instructor, Learner) from the LMS to the LT. Basic LTI is roughly comparable to the initial Moodle-WeBWorK integration at the University of Rochester. Basic LTI is presently supported by most LMS's (see the table at the bottom of the page [http://www.imsglobal.org/cc/statuschart.cfm IMS Interoperability Conformance Certification Status]).

LTI 1.1 (full LTI) will (eventually) provide additional protocols for returning data from a LT to the LMS.

The WeBWorK group at Indiana University Bloomington began developing an LTI-Basic package for WeBWorK in the summer of 2011. We have used LTI-Basic for authentication from the Sakai LMS to WeBWorK since September, 2011. The perl module WeBWorK::Authen::LTIBasic and instructions for additions and modifications to other WeBWorK modules and configuration files will be posted on the MAA WeBWorK site by the end of May.

If your institution uses an LMS that has support for Basic LTI (i.e., LTI 1.0) and you would like to begin testing how to use it to connect to WeBWorK, then we host a WeBWorK test site to which you may connect.

Instructions for using LTI Basic to connect to the IU Bloomington WebworkLTIBasic site

Configure the LMS's LTI Basic tool with the following parameters:

 Domain/URL:  https://estudy11.iu.edu:8082/~estudy11/webwork2/WebworkLTIBasic
 Consumer key:  webwork
 Shared Secret:  webworkLTIB

Also, the LTI Basic tool must send a username and/or an email address, in the form:

 lis_person_sourcedid=wheeler
 lis_person_contact_email_primary=wheeler@indiana.edu

(lis_person_sourceid and lis_person_contact_email_primary are part of the LTI specification, so it should be possible fo the LTI Basic interface to send them, but some instances of LTI Basic interfaces (e.g., Canvas) require some tweaking.)

The WeBWorK::Authen::LTIBasic module will use the value of the lis_person_sourceid parameter as the WeBWorK username if it is present. If the lis_person_sourceid parameter is undefined, then the module will use the value of the lis_person_contact_email_primary parameter as the WeBWorK username.

On the first occasion on which a user authenticates to a WeBWorK site using LTIBasic, the WeBWorK::Authen::LTIBasic module will create the user record for the user and assign the user versions of all of the existing WeBWorK problem sets. For purposes of security, the user will be assigned a permission value of 0, regardless of the user's LMS role. This permission can subsequently be increased using the standard WeBWorK tools.

If one can use the LMS's LTI Basic tool in a debug mode that will show the parameters it is sending, then one can compare them to the following parameters that Sakai/Oncourse sends:


 BasicLTI Endpoint
 https://estudy11.iu.edu:8082/~estudy11/webwork2/WebworkLTIBasic
 BasicLTI Parameters:
 user_id=wheeler
 lis_person_name_full=William H. Wheeler
 context_id=a75a6608-3698-4b62-803d-063040fce113
 context_title=Math Tools Pages
 oauth_signature=cDU1GfReli3QDeprOJwWv23ukq0=
 oauth_nonce=468921706075144
 lti_message_type=basic-lti-launch-request
 resource_link_description=Linking to WeBWorK@IU
 resource_link_id=109f9125-c711-4151-8601-4567518aed82
 ext_sakai_serverid=esoncprd11
 roles=Instructor
 oauth_signature_method=HMAC-SHA1
 oauth_callback=about:blank
 lis_person_name_family=Wheeler
 lis_person_contact_email_primary=wheeler@indiana.edu
 context_label=Math Tools Pages
 basiclti_submit=Press to continue to external tool.
 lis_person_sourcedid=wheeler
 launch_presentation_locale=en_US
 ext_sakai_server=https://resources.oncourse.iu.edu
 ext_sakai_session=5757ec78346099f129bb771043d0d1d5134b16de4692e8a05332f7c7e79be50c24039d7b92e774cb
 oauth_timestamp=1331327382
 lis_person_name_given=William H.
 lti_version=LTI-1p0
 oauth_version=1.0
 oauth_consumer_key=webwork
 resource_link_title=WeBWorK LTI

Alternatively, in order to find out what parameters one's LTI Basic tool is sending, one may change the URL to

 https://estudy14.iu.edu:8082/~estudy14/oauthTest2.pl

One should get back a message that Oauth verification either succeeded or failed and then a list of the parameters that LTI Basic tool sent.

If the Oauth verification succeeded but one cannot connect to the WebworkLTIBasic site, then one should check whether the LTI Basic tool is sending the lis_person_sourcedid parameter and/or the lis_person_contact_email_primary parameter.

Note: Use Firefox 3.5 or later for the WebworkLTIBasic site

We use MathML for mathematics provided that the browser is Firefox 3.5 or later.

Internet Explorer will fail on our WeBWorK problems, because we use a mime type of XHTML + XML + SVG for WeBWorK problems.

With Safari and Chrome, the default WeBWorK display mode is "formatted text". (We'll be changing that this summer.)