WeBWorK Problems

Refreshing Page causes Error: Failed to validate Service Ticket

Refreshing Page causes Error: Failed to validate Service Ticket

by Kelsey Caron -
Number of replies: 3

Hello,

I ran into a weird problem that occurs after logging into a course on webwork. After logging in, if I refresh the page I get the Error:

"Failed to validate Service Ticket ST-243968-tCQCVnarEWAnKGOh93504Frm2K8-cas4 : Ticket 'ST-243968-tCQCVnarEWAnKGOh93504Frm2K8-cas4' not recognized


The course PETRY-888-TEST uses an external authentication system (). You've authenticated through that system, but aren't allowed to log in to this course."

If I do not refresh the page I can navigate around the course page as expected. It is only if I do a refresh as my first action after logging into the course. If i navigate somewhere then refresh it will refresh normally with no errors. 

I am using CAS for the instructors that are logging into their course pages.



A similar problem arises for the students that access web work via external tool on Moodle. If the students click on the link it takes them to the webwork site using LTI to create their account and log them in. But if the student refreshes the page immediately after getting to webworks an error page comes up saying: 

"

Error record identifier

94b42b0d-0686-5865-bf90-d928862fea60::232b3aad-172c-11ed-b167-c4965dc31cb6

Warning messages

Error messages

Can't locate object method "put" via package "WeBWorK::DB" at /opt/webwork/webwork2/lib/WeBWorK/Authen/LTIAdvanced.pm line 811.

"

If the student navigates to a question then refreshes, the site does not throw any errors. 


Any help would be appreciated. 




In reply to Kelsey Caron

Re: Refreshing Page causes Error: Failed to validate Service Ticket

by Glenn Rice -

This was a bug in previous versions of webwork.  The only fix is to update to WeBWorK 2.17 in which this bug is fixed.

Although you should also note that even with the bug fixed, refreshing the page immediately after logging in probably will not do what you expect.  When you refresh a page the browser resubmits the last request.  If you just logged in via LTI authentication, then the last request would be the request from the LMS containing the authentication parameters.  Since those will no longer be valid for another request what will happen is you will get the message that your authentication failed.

In reply to Glenn Rice

Re: Refreshing Page causes Error: Failed to validate Service Ticket

by Kelsey Caron -
I completed my 2.16 install using the OVA image. To get to 2.17, would I be able to go to /opt/webwork/webwork2 and use git to move to the 2.17 branch?
In reply to Kelsey Caron

Re: Refreshing Page causes Error: Failed to validate Service Ticket

by Glenn Rice -
There is more that would need to be done. See https://webwork.maa.org/wiki/Release_notes_for_WeBWorK_2.17 for details on upgrading. I don't know if these will work for an OVA image though.

Note that the 2.17 branch is the "main" branch.