102 lines
3.9 KiB
TypeScript
102 lines
3.9 KiB
TypeScript
import { Authority } from "../../authority/Authority";
|
|
import { ICrypto } from "../../crypto/ICrypto";
|
|
import { AccountInfo } from "../../account/AccountInfo";
|
|
import { AuthorityType } from "../../authority/AuthorityType";
|
|
import { Logger } from "../../logger/Logger";
|
|
import { TokenClaims } from "../../account/TokenClaims";
|
|
/**
|
|
* Type that defines required and optional parameters for an Account field (based on universal cache schema implemented by all MSALs).
|
|
*
|
|
* Key : Value Schema
|
|
*
|
|
* Key: <home_account_id>-<environment>-<realm*>
|
|
*
|
|
* Value Schema:
|
|
* {
|
|
* homeAccountId: home account identifier for the auth scheme,
|
|
* environment: entity that issued the token, represented as a full host
|
|
* realm: Full tenant or organizational identifier that the account belongs to
|
|
* localAccountId: Original tenant-specific accountID, usually used for legacy cases
|
|
* username: primary username that represents the user, usually corresponds to preferred_username in the v2 endpt
|
|
* authorityType: Accounts authority type as a string
|
|
* name: Full name for the account, including given name and family name,
|
|
* lastModificationTime: last time this entity was modified in the cache
|
|
* lastModificationApp:
|
|
* idTokenClaims: Object containing claims parsed from ID token
|
|
* nativeAccountId: Account identifier on the native device
|
|
* }
|
|
* @internal
|
|
*/
|
|
export declare class AccountEntity {
|
|
homeAccountId: string;
|
|
environment: string;
|
|
realm: string;
|
|
localAccountId: string;
|
|
username: string;
|
|
authorityType: string;
|
|
clientInfo?: string;
|
|
name?: string;
|
|
lastModificationTime?: string;
|
|
lastModificationApp?: string;
|
|
cloudGraphHostName?: string;
|
|
msGraphHost?: string;
|
|
idTokenClaims?: TokenClaims;
|
|
nativeAccountId?: string;
|
|
/**
|
|
* Generate Account Id key component as per the schema: <home_account_id>-<environment>
|
|
*/
|
|
generateAccountId(): string;
|
|
/**
|
|
* Generate Account Cache Key as per the schema: <home_account_id>-<environment>-<realm*>
|
|
*/
|
|
generateAccountKey(): string;
|
|
/**
|
|
* Returns the AccountInfo interface for this account.
|
|
*/
|
|
getAccountInfo(): AccountInfo;
|
|
/**
|
|
* Generates account key from interface
|
|
* @param accountInterface
|
|
*/
|
|
static generateAccountCacheKey(accountInterface: AccountInfo): string;
|
|
/**
|
|
* Build Account cache from IdToken, clientInfo and authority/policy. Associated with AAD.
|
|
* @param accountDetails
|
|
*/
|
|
static createAccount(accountDetails: {
|
|
homeAccountId: string;
|
|
idTokenClaims: TokenClaims;
|
|
clientInfo?: string;
|
|
cloudGraphHostName?: string;
|
|
msGraphHost?: string;
|
|
environment?: string;
|
|
nativeAccountId?: string;
|
|
}, authority: Authority): AccountEntity;
|
|
/**
|
|
* Creates an AccountEntity object from AccountInfo
|
|
* @param accountInfo
|
|
* @param cloudGraphHostName
|
|
* @param msGraphHost
|
|
* @returns
|
|
*/
|
|
static createFromAccountInfo(accountInfo: AccountInfo, cloudGraphHostName?: string, msGraphHost?: string): AccountEntity;
|
|
/**
|
|
* Generate HomeAccountId from server response
|
|
* @param serverClientInfo
|
|
* @param authType
|
|
*/
|
|
static generateHomeAccountId(serverClientInfo: string, authType: AuthorityType, logger: Logger, cryptoObj: ICrypto, idTokenClaims?: TokenClaims): string;
|
|
/**
|
|
* Validates an entity: checks for all expected params
|
|
* @param entity
|
|
*/
|
|
static isAccountEntity(entity: object): boolean;
|
|
/**
|
|
* Helper function to determine whether 2 accountInfo objects represent the same account
|
|
* @param accountA
|
|
* @param accountB
|
|
* @param compareClaims - If set to true idTokenClaims will also be compared to determine account equality
|
|
*/
|
|
static accountInfoIsEqual(accountA: AccountInfo | null, accountB: AccountInfo | null, compareClaims?: boolean): boolean;
|
|
}
|
|
//# sourceMappingURL=AccountEntity.d.ts.map
|