instructure / canvas-lms

The open LMS by Instructure, Inc.
https://github.com/instructure/canvas-lms/wiki
GNU Affero General Public License v3.0
5.45k stars 2.44k forks source link

Fix cookie samesite issue for LTI 1.3 deep linking #2096

Open jbergfi opened 1 year ago

jbergfi commented 1 year ago

LTI 1.3 deep linking don't seem to be working in latest Chrome. Seemingly this is due to because SameSite property of session and CSRF token cookies are not set to None to allow cross-site. Even though the deep link selection iframe ends up at same domain (Canvas) it's navigated to through the tool domain which effectively makes it cross-site.

Closes gh-1900

Test plan:

CLAassistant commented 1 year ago

CLA assistant check
All committers have signed the CLA.

jbergfi commented 1 year ago

Please consider I don't really know anything about Ruby or Canvas codebase or what impacts this change may have. This was merely my workaround how I could make my LTI 1.3 deep linking tool work with my self-hosted Canvas instance.