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

Plans for the support of browsers disabling third-party cookies #213

Closed
Jim-Bar opened this issue Jan 2, 2024 · 6 comments
Closed

Plans for the support of browsers disabling third-party cookies #213

Jim-Bar opened this issue Jan 2, 2024 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@Jim-Bar
Copy link

Jim-Bar commented Jan 2, 2024

But the LTI specification relies on third-party cookies for launching activities embedded in LMS platforms, and for deep linking activities (as far as I know, maybe other services are affected). Consequently the Ltijs implementation relies on them too. In its current state, issues with Ltijs (e.g. #180) are going to pop up more and more.

The problem is with the current LTI specification but 1EdTech is aware of this and is working on extending LTI for getting rid of the need of third-party cookies. Three new specification drafts are available, replacing the use of third-party cookies by postMessage:

  1. https://www.imsglobal.org/spec/lti-cs-oidc/v0p1
  2. https://www.imsglobal.org/spec/lti-cs-pm/v0p1
  3. https://www.imsglobal.org/spec/lti-pm-s/v0p1

Although those are still works in progress, due to the browsers going away from third-party cookies this year and the absence of other viable solutions, those are going to become the de facto standard implementation for LTI.

I would like to know what is the position of Ltijs on this topic?

@Jim-Bar Jim-Bar added the enhancement New feature or request label Jan 2, 2024
@deckeraa
Copy link

One thing that might help is if a partitioned value could be set on the cookie options object that gets sent into Provider.js. That way the state cookie could use CHIPS

@rodneytamblyn
Copy link

rodneytamblyn commented Feb 19, 2024 via email

@deckeraa
Copy link

It appears that this expressjs issue will need to be resolved before partitioned cookies can be supported in ltijs.

@nandita121189
Copy link

@Cvmcosta Is there any update on this? Is there any plan to implement the postMessage in ltijs?

@virtualarkansas
Copy link

@deckeraa @Cvmcosta I notice you just dropped a new release of ltijs with a bump in the dependencies.

I'm not sure if you are aware that Express 4.19.2 now uses Cooke 0.6.0, and Cooke 0.6.0 has added a partitioned option. https://www.npmjs.com/package/cookie/v/0.6.0

So this seems everything is in place to make all of ltijs's cookies partitioned. As far as I can tell, the only thing missing is a private property under cookieOptions in ltijs and an if statement to make sure the property is passed along. But you know the code better than me, so there may be another issue. I just wanted to check.

@Cvmcosta
Copy link
Owner

@nandita121189 @deckeraa @Jim-Bar @rodneytamblyn Me and another collaborator are working on implementing cookieless login for LTIJS. Initially by using local storage and then using 1EdTech's new post-message-based protocol.

@virtualarkansas I will look into adding support for express' partitioned cookies, thanks for bringing this into my attention. CLosing this for fow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants