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

Intent to Implement: Changes to consent should trigger call to userId modules #5420

Closed
smenzer opened this issue Jun 25, 2020 · 4 comments · Fixed by #5451
Closed

Intent to Implement: Changes to consent should trigger call to userId modules #5420

smenzer opened this issue Jun 25, 2020 · 4 comments · Fixed by #5451

Comments

@smenzer
Copy link
Collaborator

smenzer commented Jun 25, 2020

Type of issue

Intent to Implement

Description

The userId module provides consent data to each idSystem when requesting a new/refreshed ID (via the getId() method). On subsequent page views, if the ID system does not need a refresh, the userId module will optionally make calls to the idSystem with extendId() method (if it exists), followed by a call to decode() to pull out the ID value for use, but neither of these methods contain any consent data, nor are they intended to be used to call the idSystem again for a new/refreshed ID.

In some cases, the consent data may change from one page view to another (either there was no consent on the first request due to a CMP timeout; or a user changed their consent preferences via the CMP after the first page view). In this case today, the idSystem would not be aware that consent has changed and could be providing an invalid ID (since the stored object would be based on old consent data).

Proposal

The userId module should be aware of changes in consent from one request to the next. If consent changes, then userId modules should all be called with a new getId() call instead of just extendId() and decode().

Presumably, this could be done by storing the consent string in local storage and checking the value on each request to see if it changed, and if so, force a refresh.

I'm open to other suggestions on the proposal or implementation if anyone has any ideas.

@smenzer
Copy link
Collaborator Author

smenzer commented Jun 25, 2020

@olafbuitelaar fyi

@pycnvr
Copy link
Collaborator

pycnvr commented Jul 8, 2020

This approach ends up generating a new pubcommonid every time the consent string changes. That's problematic. Since only id5 applies additional consent checks in its getId call and has also implemented extendId, it's probably better to pass along consent data in extendId call so that id5, and other subsystems in the future, can applies specialized consent checks when needed.

@smenzer
Copy link
Collaborator Author

smenzer commented Jul 10, 2020

@pycnvr if consent changes, though, isn’t it important to update the pubcommonid in case there should no longer be one? we're also not talking about a common occurrence, this is to be covered in case of changes, which is important. additionally, i think it should be the responsibility of the userid module to enforce things like changing of consent requiring a refreshed ID. the ID providers could choose not to change anything, but some will need to if they no longer have consent.

@stale
Copy link

stale bot commented Jul 25, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Jul 25, 2020
@stale stale bot closed this as completed Aug 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants