canvas-lms
canvas-lms copied to clipboard
Fix cookie samesite issue for LTI 1.3 deep linking
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:
- Test LTI 1.3 deep linking with an external tool
- Test compatibility with different browsers (new browsers supporting SameSite: None and browsers not supporting)
- Investigate any undesired security implications this change might have
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.