feat(12820): implement crossTab auth events #14465
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of changes
Introduce the possibility of listening to crossTab auth events.
The changes introduce a listener for storage events on the DefaultStorage (
window.localStorage
) as well as on the SessionStorage (window.sessionStorage
)since the logic for adding and removing listeners is on the
KeyValueStorage
it is (theoretically) possible in future to add listeners for crossTab events on CookieStorage and CustomStorage.since it listens to all storage events, it then filters the event based on token-naming convention to dispatch crossTab Hub events on the "auth" channel.
the typing and implementation of
dispatch
andlisten
on the hub makes sure, that only auth-channel events are allowed for crossTab communication.Issue #, if available
Issue 12820
Description of how you validated changes
I added unit-tests and did manual explorative testing.
Checklist
yarn test
passesChecklist for repo maintainers
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.