Difference between revisions of "LTI-Basic Authentication"
m |
|||
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]). |
||
− | = LTI-Basic Authentication = |
||
+ | 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.) |
Revision as of 19:02, 18 May 2012
Contents
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.)