n4auth/node_modules/@azure/msal-node/dist/cache/TokenCache.d.ts
2021-07-15 23:10:20 +03:00

91 lines
3.3 KiB
TypeScript

import { NodeStorage } from "./NodeStorage";
import { AccountInfo, Logger, ISerializableTokenCache, ICachePlugin } from "@azure/msal-common";
import { CacheKVStore } from "./serializer/SerializerTypes";
import { ITokenCache } from "./ITokenCache";
/**
* In-memory token cache manager
* @public
*/
export declare class TokenCache implements ISerializableTokenCache, ITokenCache {
private storage;
private cacheHasChanged;
private cacheSnapshot;
private readonly persistence;
private logger;
constructor(storage: NodeStorage, logger: Logger, cachePlugin?: ICachePlugin);
/**
* Set to true if cache state has changed since last time serialize or writeToPersistence was called
*/
hasChanged(): boolean;
/**
* Serializes in memory cache to JSON
*/
serialize(): string;
/**
* Deserializes JSON to in-memory cache. JSON should be in MSAL cache schema format
* @param cache - blob formatted cache
*/
deserialize(cache: string): void;
/**
* Fetches the cache key-value map
*/
getKVStore(): CacheKVStore;
/**
* API that retrieves all accounts currently in cache to the user
*/
getAllAccounts(): Promise<AccountInfo[]>;
/**
* Returns the signed in account matching homeAccountId.
* (the account object is created at the time of successful login)
* or null when no matching account is found
* @param homeAccountId - unique identifier for an account (uid.utid)
*/
getAccountByHomeId(homeAccountId: string): Promise<AccountInfo | null>;
/**
* Returns the signed in account matching localAccountId.
* (the account object is created at the time of successful login)
* or null when no matching account is found
* @param localAccountId - unique identifier of an account (sub/obj when homeAccountId cannot be populated)
*/
getAccountByLocalId(localAccountId: string): Promise<AccountInfo | null>;
/**
* API to remove a specific account and the relevant data from cache
* @param account - AccountInfo passed by the user
*/
removeAccount(account: AccountInfo): Promise<void>;
/**
* Called when the cache has changed state.
*/
private handleChangeEvent;
/**
* Merge in memory cache with the cache snapshot.
* @param oldState - cache before changes
* @param currentState - current cache state in the library
*/
private mergeState;
/**
* Deep update of oldState based on newState values
* @param oldState - cache before changes
* @param newState - updated cache
*/
private mergeUpdates;
/**
* Removes entities in oldState that the were removed from newState. If there are any unknown values in root of
* oldState that are not recognized, they are left untouched.
* @param oldState - cache before changes
* @param newState - updated cache
*/
private mergeRemovals;
/**
* Helper to merge new cache with the old one
* @param oldState - cache before changes
* @param newState - updated cache
*/
private mergeRemovalsDict;
/**
* Helper to overlay as a part of cache merge
* @param passedInCache - cache read from the blob
*/
private overlayDefaults;
}
//# sourceMappingURL=TokenCache.d.ts.map