47 lines
1.5 KiB
JavaScript
47 lines
1.5 KiB
JavaScript
/*! @azure/msal-common v14.4.0 2023-11-07 */
|
|
'use strict';
|
|
import { createClientAuthError } from '../error/ClientAuthError.mjs';
|
|
import { Separators, Constants } from '../utils/Constants.mjs';
|
|
import { clientInfoEmptyError, clientInfoDecodingError } from '../error/ClientAuthErrorCodes.mjs';
|
|
|
|
/*
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License.
|
|
*/
|
|
/**
|
|
* Function to build a client info object from server clientInfo string
|
|
* @param rawClientInfo
|
|
* @param crypto
|
|
*/
|
|
function buildClientInfo(rawClientInfo, crypto) {
|
|
if (!rawClientInfo) {
|
|
throw createClientAuthError(clientInfoEmptyError);
|
|
}
|
|
try {
|
|
const decodedClientInfo = crypto.base64Decode(rawClientInfo);
|
|
return JSON.parse(decodedClientInfo);
|
|
}
|
|
catch (e) {
|
|
throw createClientAuthError(clientInfoDecodingError);
|
|
}
|
|
}
|
|
/**
|
|
* Function to build a client info object from cached homeAccountId string
|
|
* @param homeAccountId
|
|
*/
|
|
function buildClientInfoFromHomeAccountId(homeAccountId) {
|
|
if (!homeAccountId) {
|
|
throw createClientAuthError(clientInfoDecodingError);
|
|
}
|
|
const clientInfoParts = homeAccountId.split(Separators.CLIENT_INFO_SEPARATOR, 2);
|
|
return {
|
|
uid: clientInfoParts[0],
|
|
utid: clientInfoParts.length < 2
|
|
? Constants.EMPTY_STRING
|
|
: clientInfoParts[1],
|
|
};
|
|
}
|
|
|
|
export { buildClientInfo, buildClientInfoFromHomeAccountId };
|
|
//# sourceMappingURL=ClientInfo.mjs.map
|