<PackageReference Include="Microsoft.Identity.Client" Version="4.82.1-preview" />

Microsoft.Identity.Client.Cache.CacheFallbackOperations

public static AdalUsersForMsal GetAllAdalUsersForMsal(ILoggerAdapter logger, ILegacyCachePersistence legacyCachePersistence, string clientId)

Returns a tuple where Item1 is a map of ClientInfo -> AdalUserInfo for those users that have ClientInfo Item2 is a list of AdalUserInfo for those users that do not have ClientInfo

public static MsalRefreshTokenCacheItem GetRefreshToken(ILoggerAdapter logger, ILegacyCachePersistence legacyCachePersistence, IEnumerable<string> environmentAliases, string clientId, IAccount account)

public static void RemoveAdalUser(ILoggerAdapter logger, ILegacyCachePersistence legacyCachePersistence, string clientId, string displayableId, string accountOrUserId)

Algorithm to delete: DisplayableId cannot be null Removal is scoped by environment and clientId; If accountId != null then delete everything with the same clientInfo otherwise, delete everything with the same displayableId Notes: - displayableId can change rarely - ClientCredential Grant uses the app token cache, not the user token cache, so this algorithm does not apply (nor will GetAccounts / RemoveAccount work)

public static void WriteAdalRefreshToken(ILoggerAdapter logger, ILegacyCachePersistence legacyCachePersistence, MsalRefreshTokenCacheItem rtItem, MsalIdTokenCacheItem idItem, string authority, string uniqueId, string scope)