Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix cookie samesite issue for LTI 1.3 deep linking #2096

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jbergfi
Copy link

@jbergfi jbergfi commented Sep 19, 2022

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

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 instructuregh-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
@CLAassistant
Copy link

CLAassistant commented Sep 19, 2022

CLA assistant check
All committers have signed the CLA.

@jbergfi
Copy link
Author

jbergfi commented Sep 19, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants