Skip to content

[pull] main from AxaFrance:main#1

Open
pull[bot] wants to merge 462 commits intoThodor12:mainfrom
AxaFrance:main
Open

[pull] main from AxaFrance:main#1
pull[bot] wants to merge 462 commits intoThodor12:mainfrom
AxaFrance:main

Conversation

@pull
Copy link

@pull pull bot commented Jul 2, 2024

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

guillaume-chervet and others added 30 commits February 17, 2024 15:52
* feat(oidc): dpop inside serviceworker

* test

* update

* update

* update

* update
Bumps [rimraf](https://github.com/isaacs/rimraf) from 5.0.1 to 5.0.5.
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](isaacs/rimraf@v5.0.1...v5.0.5)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 1.2.2 to 1.3.1.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.3.1/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.12 to 5.1.5.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.1.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…er (#1320) (release)

Co-authored-by: Mees van Dongen <mees.vandongen@edsn.nl>
mtfrigo and others added 30 commits August 2, 2025 08:26
…release)

* fix: prevent infinite loop on renew token flow

* feat: refatoring background tries and removing GIVE_UP

---------

Co-authored-by: Matheus Tavares Frigo <matheus_frigo@sicredi.com.br>
…nd well-known configuration (release) (#1592)

* fix: add persistent storage caching for userInfo to prevent loss on page refresh

Fixes #898

Problem:
- UserInfo was only cached in memory (oidc.userInfo)
- Lost on page refresh, causing unnecessary /userinfo network requests
- Performance issue for users with configured storage

Solution:
- Add storage check before network fetch using existing storage configuration
- Store userInfo result after successful fetch for persistence across refreshes
- Follows same security pattern as existing token storage
- Respects noCache parameter to bypass both memory and storage cache

Implementation:
- Only 4 lines added to userInfoAsync function
- Uses oidc.configuration.storage (same as tokens)
- Storage key: oidc.{configurationName}.userInfo
- Graceful fallback when storage not configured

Security:
- UserInfo is less sensitive than tokens (already stored in same location)
- Uses optional chaining for safe access
- Maintains all existing security controls

Benefits:
- Eliminates unnecessary userinfo network requests on page refresh
- Improves performance for users with storage configuration
- Zero breaking changes, backward compatible
- Reuses existing infrastructure

* fix: implement consistent storage caching for userInfo and well-known configuration

Fixes #898

Problems:
1. UserInfo lost on page refresh causing unnecessary /userinfo network requests
2. Well-known configuration cache hardcoded to sessionStorage, ignoring user storage preferences

Root Causes:
- UserInfo only cached in memory (oidc.userInfo), lost on refresh
- Well-known cache always used sessionStorage instead of configuration.storage
- Inconsistent storage behavior across different cached data types

Solutions:
1. UserInfo Persistent Caching:
   - Add storage check before network fetch using existing storage configuration
   - Store userInfo result after successful fetch for persistence across refreshes
   - Use same storage key pattern: oidc.{configurationName}.userInfo

2. Well-Known Cache Storage Consistency:
   - Respect user's configuration.storage instead of hardcoded sessionStorage
   - Maintain backward compatibility with fallback to sessionStorage

Implementation:
- Only 5 lines of code added across 2 files
- Uses oidc.configuration.storage (same as tokens)
- Graceful fallback when storage not configured
- Respects noCache parameter to bypass both memory and storage cache

Security:
- UserInfo is less sensitive than tokens (already stored in same location)
- Uses optional chaining for safe access
- Maintains all existing security controls

Benefits:
- Eliminates unnecessary userinfo and well-known network requests on page refresh
- Consistent storage behavior across all cached data (tokens, userInfo, well-known)
- Improves performance for users with persistent storage configuration
- Zero breaking changes, backward compatible
- Reuses existing infrastructure
* fix(oidc-client): renew token silent login
…1603)

When using localStorage as the session storage, the userInfo stays present even after logging out. Due to this and with the recent addition of caching, invalid data gets eventually loaded from the localStorage (as there is no validation on load) and will display wrong information in some cases (e.g. user has switched account on the IdP).
…ect_uri (#1606) (release)

Co-authored-by: Jean-Marc Rakotoarisoa <jeanmarc.rakotoarisoa@axa.fr>
* refactor(all): update libraries

* update (alpha)

* fix (alpha)
* fix(oidc-client): sw with safari 17

* fix
…1639) (release)

* Initial plan

* fix: remove undefined setLoading call in OidcProvider

Co-authored-by: guillaume-chervet <52236059+guillaume-chervet@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: guillaume-chervet <52236059+guillaume-chervet@users.noreply.github.com>
…y params (#1640) (release)

* Initial plan

* Fix null values in extras encoded as literal "null" string

Co-authored-by: guillaume-chervet <52236059+guillaume-chervet@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: guillaume-chervet <52236059+guillaume-chervet@users.noreply.github.com>
* Initial plan

* Fix: reload user info stuck at Loading - use useRef for oidcPreviousUserId

Co-authored-by: guillaume-chervet <52236059+guillaume-chervet@users.noreply.github.com>

* Fix lint: remove unused React import; fix test: await reloaded user data

Co-authored-by: guillaume-chervet <52236059+guillaume-chervet@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: guillaume-chervet <52236059+guillaume-chervet@users.noreply.github.com>
… API calls (#1643) (release)

* Initial plan

* fix: inject bearer token when allowMultiTabLogin is true and no auth header present

Co-authored-by: guillaume-chervet <52236059+guillaume-chervet@users.noreply.github.com>

* docs: clarify that allowMultiTabLogin requires OIDC fetch wrapper for API calls

Co-authored-by: guillaume-chervet <52236059+guillaume-chervet@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: guillaume-chervet <52236059+guillaume-chervet@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⤵️ pull merge-conflict Resolve conflicts manually

Projects

None yet

Development

Successfully merging this pull request may close these issues.