My university has recently adopted Canvas. We've been using webwork (current version 2.15) for years and use CAS authentication for students and faculty to log in directly via the webwork site. I am attempting to link a Canvas course to webwork using LTI authorization. Everything worked well except for one small issue. All I had to do was add the following code to the course.conf file:
include("conf/authen_LTI.conf");
$LTIBasicConsumerSecret = <complicated secret>;
$external_auth = 0;
$permissionLevels{change_password} = "ta";
$LTI_modify_user = sub {
<modify user data>;
}
Then I setup the LTI tool in Canvas and it worked. When a student clicked the link in canvas, they were automatically enrolled and logged into the webwork course. When an instructor clicks the link, they are auto logged in. The one hiccup is that I would like instructors (especially me since I setup all webwork courses for the college) to also be able to log in directly the old fashioned way. (If students are forced to log in through canvas, that is totally fine.) My impression was that the code
$external_auth = 0;
would allow this, but it appears to just allow the direct log in screen to appear on the webwork site. The CAS username and password no longer work. It seems like the LTI authentication overrides the CAS authorization. Is there a way for me to allow both CAS and LTI authorization simultaneously? Or perhaps there is some other issue I'm not aware of.
One solution I thought of was to simply as me as an instructor to each Canvas course that uses webwork, but it's not the most efficient solution. Another note is that I'm neither the Canvas nor IT admin for my school, so my access is limited.
I did notice the following code in the authen_LTI.conf file:
$authen{user_module} = [
{ "*" => "WeBWorK::Authen::LTIAdvanced", }, #preferred authorization method
{ "*" => "WeBWorK::Authen::Basic_TheLastOption",} #fallback authorization method
];
I thought this could be related to my issue, but now the knowledge required is starting to go above my pay grade. The webwork system was setup long before I arrived.
Any help/suggestions would be appreciated. Thanks.