@azure/msal-browser
Version:
Microsoft Authentication Library for js
132 lines (130 loc) • 5.16 kB
JavaScript
/*! @azure/msal-browser v4.12.0 2025-05-06 */
;
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
/**
* Returns all the accounts in the cache that match the optional filter. If no filter is provided, all accounts are returned.
* @param accountFilter - (Optional) filter to narrow down the accounts returned
* @returns Array of AccountInfo objects in cache
*/
function getAllAccounts(logger, browserStorage, isInBrowser, accountFilter) {
logger.verbose("getAllAccounts called");
return isInBrowser ? browserStorage.getAllAccounts(accountFilter) : [];
}
/**
* Returns the first account found in the cache that matches the account filter passed in.
* @param accountFilter
* @returns The first account found in the cache matching the provided filter or null if no account could be found.
*/
function getAccount(accountFilter, logger, browserStorage) {
logger.trace("getAccount called");
if (Object.keys(accountFilter).length === 0) {
logger.warning("getAccount: No accountFilter provided");
return null;
}
const account = browserStorage.getAccountInfoFilteredBy(accountFilter);
if (account) {
logger.verbose("getAccount: Account matching provided filter found, returning");
return account;
}
else {
logger.verbose("getAccount: No matching account found, returning null");
return null;
}
}
/**
* Returns the signed in account matching username.
* (the account object is created at the time of successful login)
* or null when no matching account is found.
* This API is provided for convenience but getAccountById should be used for best reliability
* @param username
* @returns The account object stored in MSAL
*/
function getAccountByUsername(username, logger, browserStorage) {
logger.trace("getAccountByUsername called");
if (!username) {
logger.warning("getAccountByUsername: No username provided");
return null;
}
const account = browserStorage.getAccountInfoFilteredBy({
username,
});
if (account) {
logger.verbose("getAccountByUsername: Account matching username found, returning");
logger.verbosePii(`getAccountByUsername: Returning signed-in accounts matching username: ${username}`);
return account;
}
else {
logger.verbose("getAccountByUsername: No matching account found, returning null");
return null;
}
}
/**
* 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
* @returns The account object stored in MSAL
*/
function getAccountByHomeId(homeAccountId, logger, browserStorage) {
logger.trace("getAccountByHomeId called");
if (!homeAccountId) {
logger.warning("getAccountByHomeId: No homeAccountId provided");
return null;
}
const account = browserStorage.getAccountInfoFilteredBy({
homeAccountId,
});
if (account) {
logger.verbose("getAccountByHomeId: Account matching homeAccountId found, returning");
logger.verbosePii(`getAccountByHomeId: Returning signed-in accounts matching homeAccountId: ${homeAccountId}`);
return account;
}
else {
logger.verbose("getAccountByHomeId: No matching account found, returning null");
return 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
* @returns The account object stored in MSAL
*/
function getAccountByLocalId(localAccountId, logger, browserStorage) {
logger.trace("getAccountByLocalId called");
if (!localAccountId) {
logger.warning("getAccountByLocalId: No localAccountId provided");
return null;
}
const account = browserStorage.getAccountInfoFilteredBy({
localAccountId,
});
if (account) {
logger.verbose("getAccountByLocalId: Account matching localAccountId found, returning");
logger.verbosePii(`getAccountByLocalId: Returning signed-in accounts matching localAccountId: ${localAccountId}`);
return account;
}
else {
logger.verbose("getAccountByLocalId: No matching account found, returning null");
return null;
}
}
/**
* Sets the account to use as the active account. If no account is passed to the acquireToken APIs, then MSAL will use this active account.
* @param account
*/
function setActiveAccount(account, browserStorage) {
browserStorage.setActiveAccount(account);
}
/**
* Gets the currently active account
*/
function getActiveAccount(browserStorage) {
return browserStorage.getActiveAccount();
}
export { getAccount, getAccountByHomeId, getAccountByLocalId, getAccountByUsername, getActiveAccount, getAllAccounts, setActiveAccount };
//# sourceMappingURL=AccountManager.mjs.map