WeBWorK Problems

LTI set-up: admin tech needs help finding "authen_LTI.conf.dist" file

LTI set-up: admin tech needs help finding "authen_LTI.conf.dist" file

by tim Payer -
Number of replies: 3
Greetings,

I am helping an admin-tech for our school establish an LTI between WeBWorK and Canvas. This is our third attempt (failing for the past two semesters). We are following the instructions laid out at the site:

http://webwork.maa.org/wiki/LTI-Advanced_Authentication

He is trying to locate the file named authen_LTI.conf.dist in the webwork2/conf directory. But are at a loss as to where this file might be.
I the instructor have admin privileges for my course and have added the system tech, (Breck) to the course as an admin as well. 

Can you please help us?

Sincerely, Tim
In reply to tim Payer

Re: LTI set-up: admin tech needs help finding "authen_LTI.conf.dist" file

by Michael Gage -
It's in /opt/webwork/webwork2/conf  directory (or something similar).


Is your repo synced with version 2.12 on  github?

If you are using a version of webwork before 2.12 then this file might not be there.  It was added fairly recently (either 2.12 or 2.11).

-- Mike

In reply to Michael Gage

Re: LTI set-up: admin tech needs help finding "authen_LTI.conf.dist" file

by tim Payer -
Unfortunately we are still having problems establishing the LTI connection with Canvas.

The summarizing error statement is copied below:

OAuth verification failed. Check the Consumer Secret and that the URL in the LMS exactly matches the WeBWorK URL as defined in site.conf. E.G. Check that if you have https in the LMS url then you have https in $server_root_url in site.conf at /opt/webwork/webwork2/lib/WeBWorK/Authen/LTIAdvanced.pm line 401.

We have confirmed the same shared secret in both LMS and webwork,
We have the same https: address in both systems.

We are using the following files in the admin folder:

localOverrides.conf
authen_LTI.conf

Although note that last file, authen_LTI.conf was affixed to the end of the contents of course.conf and kept the same file name of course.conf at the suggestion by Jason Aubrey.

Is there some thing else that we are missing?

I have pasted the entire error statement below:

WeBWorK Warnings

WeBWorK has encountered warnings while processing your request. If this occured when viewing a problem, it was likely caused by an error or ambiguity in that problem. Otherwise, it may indicate a problem with the WeBWorK system itself. If you are a student, report these warnings to your professor to have them corrected. If you are a professor, please consult the warning output below for more information.

Warning messages

  • ===== parameters received =======
  • roles => Learner
  • oauth_version => 1.0
  • custom_canvas_assignment_id => 10613
  • custom_canvas_user_login_id => tststu21
  • custom_canvas_assignment_points_possible => 100
  • oauth_consumer_key => Webwork
  • oauth_signature_method => HMAC-SHA1
  • custom_format___teacher__ => > "professor"
  • user_id => c1cca81a3a100bcb8f7de73fec57e9408409e6a5
  • custom_canvas_user_id => 12500
  • tool_consumer_info_version => cloud
  • tool_consumer_instance_contact_email => notifications@instructure.com
  • oauth_timestamp => 1495668830
  • ext_outcome_result_total_score_accepted => true
  • lis_person_name_full => Test Student 21
  • lis_course_offering_sourcedid => 2172_25084
  • lis_result_sourcedid => 82-1466-10613-12500-c433b935baa87863283c595786579b89ae305b8d
  • launch_presentation_document_target => iframe
  • lis_person_contact_email_primary => tststu21@humboldt.edu
  • resource_link_id => cc08e76a0b4b2018866b3c64c76891fe157db405
  • ext_roles => urn:lti:instrole:ims/lis/Student,urn:lti:role:ims/lis/Learner,urn:lti:sysrole:ims/lis/User
  • tool_consumer_info_product_family_code => canvas
  • custom_canvas_enrollment_state => active
  • lti_message_type => basic-lti-launch-request
  • context_label => STAT 109
  • custom_canvas_course_id => 1466
  • lis_person_name_family => 21
  • ext_outcomes_tool_placement_url => https://humboldt2.test.instructure.com/api/lti/v1/turnitin/outcomes_placement/82
  • context_id => ec59b038c8907369cfbf44322d5ed079ee36dd21
  • oauth_callback => about:blank
  • tool_consumer_instance_guid => d3A2H7EV0HEzXgRAJNDgfOhszBpV1nEVugd2OrCR:canvas-lms
  • oauth_nonce => B1mEQW7kXOLshqGqwJggaWtvMRkQc2Ma4eELYMhz0
  • user_image => https://secure.gravatar.com/avatar/ae0692ea771bd2264622f6c4c1160f12?s=50&d=https%3A%2F%2Fcanvas.instructure.com%2Fimages%2Fmessages%2Favatar-50.png
  • custom_canvas_api_domain => humboldt2.test.instructure.com
  • resource_link_title => HW 3 in Webwork
  • lti_version => LTI-1p0
  • launch_presentation_locale => en
  • ext_ims_lis_basic_outcome_url => https://humboldt2.test.instructure.com/api/lti/v1/tools/82/ext_grade_passback
  • context_title => "STAT 109 Introductory Biostatistics 25084"
  • custom_format___student__ => > "student"
  • oauth_signature => hveWLvTgNFH4ElPiQJwUTeg6Up0=
  • lis_person_name_given => Test Student
  • tool_consumer_instance_name => CSU Humboldt
  • lis_outcome_service_url => https://humboldt2.test.instructure.com/api/lti/v1/tools/82/grade_passback
  • launch_presentation_return_url => https://humboldt2.test.instructure.com/courses/1466/assignments
  • ext_outcome_data_values_accepted => url,text
  • custom_canvas_workflow_state => available
  • custom_canvas_assignment_title => HW 3 in Webwork
  • =========== summary ============ at /opt/webwork/webwork2/lib/WeBWorK/Authen/LTIAdvanced.pm line 206.
  • User id is |tststu21|
  • User mail address is |tststu21@humboldt.edu|
  • preferred_source_of_username is |lis_person_contact_email_primary|
  • ================================
  • OAuth verification failed. Check the Consumer Secret and that the URL in the LMS exactly matches the WeBWorK URL as defined in site.conf. E.G. Check that if you have https in the LMS url then you have https in $server_root_url in site.conf at /opt/webwork/webwork2/lib/WeBWorK/Authen/LTIAdvanced.pm line 401.
In reply to tim Payer

Re: LTI set-up: admin tech needs help finding "authen_LTI.conf.dist" file

by Danny Glin -
Having authen_LTI.conf around and also having the same information cut and pasted into course.conf is probably not wise. Any variables set in course.conf will override what is loaded earlier (in this case authen_LTI.conf and possibly localOverrides.conf), so you run the risk of changing something in authen_LTI.conf, and not having it take effect because it is later overwritten by course.conf.

My recommendation is that any settings that will be the same for all courses be put in localOverrides.conf and authen_LTI.conf, and only things that will be different for an individual course be put in course.conf.

This leads me to the first thing to check: if $LTIBasicConsumerSecret is set in course.conf, then this is the value that will be used. Make sure that this string matches exactly what you set in Canvas. For debugging purposes. I would start with a secret that only involves numbers and letters. I don't think symbols should cause a problem, but this eliminates one possible complication.

A couple of other things:
Make sure that the consumer key is set in Canvas. It can be set to anything, but I know when I set up LTI, WeBWorK didn't like having a blank key.

Try the URL in Canvas with and without the slash at the end. I have mine set up with the slash at the end (i.e. https://webwork.yourschool.edu/webwork2/coursename/), but I can't remember how picky it is about this.