WeBWorK Main Forum

LTI authentication with accent in student's name

LTI authentication with accent in student's name

by Larry Riddle -
Number of replies: 6
We have just started using LTI authentication between Moodle and WeBWorK 2.13. Everything is working fine except with one student. Her last name has an o-unlaut in it. Moodle displays her name correctly with the umlaut. But when she tries to access WeBWorK through Moodle, the authentication fails. I'm assuming it is because of the unlaut character. Looking through the warning messages, I see the following lines

lis_person_name_full => Helena Buschermöhle

lis_person_name_family => Buschermöhle

ext_user_username => hbuschermohle

Net::OAuth warning: your OAuth message appears to contain some multi-byte characters that need to be decoded via Encode.pm or a PerlIO layer first. This may result in an incorrect signature. at /usr/share/perl5/Net/OAuth/Message.pm line 106.

The last warning is repeated 3 more times.

Any suggestions on how to fix this so that she can authenticate?



In reply to Larry Riddle

Re: LTI authentication with accent in student's name

by Michael Gage -
I'm afraid the easiest and safest fix for now would be to change their name in the moodle database and replace the offending character with some latinized equivalent.

We've made progress in localizing webwork but it is still not 100% complete even in rel 2.14. The current develop branch has our best efforts so far and I believe that it would fix your problem. Changing over to it will probably require some changes to your database however and we haven't yet figured out all of the procedures for switching over. If you try working with the database make very sure that you back everything up first on both moodle and webwork. If you have a spare development machine (or can create one using docker) you could help debug the current develop branch.

Depending on how much time and patience and experience you have I think it's possible to fix this problem on your site -- in fact I think it's been done at a couple of sites in Quebec -- perhaps we'll hear comments and suggestions from them -- however I can't yet give you an explicit procedure for making the change over safely. There are a number of people interested in this however (particularly from non-English speaking countries) so I expect to see a resolution at some point.

In reply to Michael Gage

Re: LTI authentication with accent in student's name

by Larry Riddle -
Michael, thanks for your explanation. Your easiest and safest fix is what I am actually trying to get done, but it is turning out to be a bit more complicated than I expected because of the way our Registrar's office and ITS department manage student records. Meanwhile our (hopefully temporary) solution was to create a duplicate (non-LTI) WeBWorK course for this one student that she can access directly rather than authenticating through Moodle. Of course this creates extra work for the instructor.
In reply to Larry Riddle

Re: LTI authentication with accent in student's name

by Danny Glin -
You should be able to allow both LTI connections and direct logins to the same course. It should just be a matter of setting "$external_auth=0;" in course.conf, which would re-enable the WeBWorK login page. If you manually create an account for the one student, then she should be able to log in with her username and password, while all other students would still need to log in using LTI since the LTI connection doesn't set a password when it creates a new user.
In reply to Danny Glin

Re: LTI authentication with accent in student's name

by Larry Riddle -
A new semester and we have another student enrolled in the course with an accent in her name and thus we are having the same problem as before with that student not being able to authenticate from Moodle to WeBWorK. I have set $external_auth=0" in course.conf and have manually added her to the course. That works fine and she is able to log into WeBWorK. However, she cannot do the assignment because she gets the message

You must log into this set via your Learning Management System (e.g. Blackboard, Moodle, etc...).

We are still using version 2.13 because I'm hesitant to upgrade in the middle of an academic year (and especially not now since the semester has already started).
In reply to Larry Riddle

Re: LTI authentication with accent in student's name

by Danny Glin -
Are you using grade passback? If so, I believe that WW prevents students from accessing an assignment if they have not logged in using LTI in order to prevent grades from being recorded but not passed to Moodle.

I don't know that there is currently a workaround for this, so you might be stuck with either turning off grade passback or using one of the previously discussed options (creating a separate course for that user or changing her name in Moodle).
In reply to Larry Riddle

Re: LTI authentication with accent in student's name

by Nathan Wallach -
I looked into this issue (which has been reported before in the forums) and tried to write a patch to fix problems with LTI authentication when there is OAuth signed data which contains multi-byte UTF8 characters. The patch is beta-code, as I don't have an LTI system with which I can test it (at present).

The details are in https://github.com/openwebwork/webwork2/issues/915 and the issue provides links to the branch in my webwork2 with the beta code of the patch, an explanation of the core issue, links to the patched files, and instructions for testing.

Larry - If you are able to test the code, it would help. You could possibly add an extra if condition to initially allow the new code to run only for the specific student having problems by testing for a match of part of their LTI identity data.