Is your feature request related to a problem? Please describe.
Starting in MSAL 4.30, there's a default in-memory partitioned cache for confidential client applications. For each cache operation, the data is serialized/deserialiazed, which causes a performance hit. Seems to be a bigger issue for apps that have single-tenant partitions with many resources per tenant.
Possible solutions
PartitionedInMemoryTokenCacheAccessor
that implements ITokenCacheAccessor and is similar to InMemoryTokenCacheAccessor except that the token dictionaries are partitioned by tenant id.requestParams.Scope
to the app cache key string._accessor.GetAccessToken
and pass a created MsalAccessTokenCacheKey
. Some [additional filtering] might still need to be done.Also add performance tests to compare before and after change. (Testing scenario should include single- and multi-tenant cases with many resources.)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4