142 lines
4.7 KiB
JavaScript
142 lines
4.7 KiB
JavaScript
|
/*! @azure/msal-node v2.5.1 2023-11-07 */
|
||
|
'use strict';
|
||
|
'use strict';
|
||
|
|
||
|
/*
|
||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
* Licensed under the MIT License.
|
||
|
*/
|
||
|
class Serializer {
|
||
|
/**
|
||
|
* serialize the JSON blob
|
||
|
* @param data
|
||
|
*/
|
||
|
static serializeJSONBlob(data) {
|
||
|
return JSON.stringify(data);
|
||
|
}
|
||
|
/**
|
||
|
* Serialize Accounts
|
||
|
* @param accCache
|
||
|
*/
|
||
|
static serializeAccounts(accCache) {
|
||
|
const accounts = {};
|
||
|
Object.keys(accCache).map(function (key) {
|
||
|
const accountEntity = accCache[key];
|
||
|
accounts[key] = {
|
||
|
home_account_id: accountEntity.homeAccountId,
|
||
|
environment: accountEntity.environment,
|
||
|
realm: accountEntity.realm,
|
||
|
local_account_id: accountEntity.localAccountId,
|
||
|
username: accountEntity.username,
|
||
|
authority_type: accountEntity.authorityType,
|
||
|
name: accountEntity.name,
|
||
|
client_info: accountEntity.clientInfo,
|
||
|
last_modification_time: accountEntity.lastModificationTime,
|
||
|
last_modification_app: accountEntity.lastModificationApp,
|
||
|
};
|
||
|
});
|
||
|
return accounts;
|
||
|
}
|
||
|
/**
|
||
|
* Serialize IdTokens
|
||
|
* @param idTCache
|
||
|
*/
|
||
|
static serializeIdTokens(idTCache) {
|
||
|
const idTokens = {};
|
||
|
Object.keys(idTCache).map(function (key) {
|
||
|
const idTEntity = idTCache[key];
|
||
|
idTokens[key] = {
|
||
|
home_account_id: idTEntity.homeAccountId,
|
||
|
environment: idTEntity.environment,
|
||
|
credential_type: idTEntity.credentialType,
|
||
|
client_id: idTEntity.clientId,
|
||
|
secret: idTEntity.secret,
|
||
|
realm: idTEntity.realm,
|
||
|
};
|
||
|
});
|
||
|
return idTokens;
|
||
|
}
|
||
|
/**
|
||
|
* Serializes AccessTokens
|
||
|
* @param atCache
|
||
|
*/
|
||
|
static serializeAccessTokens(atCache) {
|
||
|
const accessTokens = {};
|
||
|
Object.keys(atCache).map(function (key) {
|
||
|
const atEntity = atCache[key];
|
||
|
accessTokens[key] = {
|
||
|
home_account_id: atEntity.homeAccountId,
|
||
|
environment: atEntity.environment,
|
||
|
credential_type: atEntity.credentialType,
|
||
|
client_id: atEntity.clientId,
|
||
|
secret: atEntity.secret,
|
||
|
realm: atEntity.realm,
|
||
|
target: atEntity.target,
|
||
|
cached_at: atEntity.cachedAt,
|
||
|
expires_on: atEntity.expiresOn,
|
||
|
extended_expires_on: atEntity.extendedExpiresOn,
|
||
|
refresh_on: atEntity.refreshOn,
|
||
|
key_id: atEntity.keyId,
|
||
|
token_type: atEntity.tokenType,
|
||
|
requestedClaims: atEntity.requestedClaims,
|
||
|
requestedClaimsHash: atEntity.requestedClaimsHash,
|
||
|
userAssertionHash: atEntity.userAssertionHash,
|
||
|
};
|
||
|
});
|
||
|
return accessTokens;
|
||
|
}
|
||
|
/**
|
||
|
* Serialize refreshTokens
|
||
|
* @param rtCache
|
||
|
*/
|
||
|
static serializeRefreshTokens(rtCache) {
|
||
|
const refreshTokens = {};
|
||
|
Object.keys(rtCache).map(function (key) {
|
||
|
const rtEntity = rtCache[key];
|
||
|
refreshTokens[key] = {
|
||
|
home_account_id: rtEntity.homeAccountId,
|
||
|
environment: rtEntity.environment,
|
||
|
credential_type: rtEntity.credentialType,
|
||
|
client_id: rtEntity.clientId,
|
||
|
secret: rtEntity.secret,
|
||
|
family_id: rtEntity.familyId,
|
||
|
target: rtEntity.target,
|
||
|
realm: rtEntity.realm,
|
||
|
};
|
||
|
});
|
||
|
return refreshTokens;
|
||
|
}
|
||
|
/**
|
||
|
* Serialize amdtCache
|
||
|
* @param amdtCache
|
||
|
*/
|
||
|
static serializeAppMetadata(amdtCache) {
|
||
|
const appMetadata = {};
|
||
|
Object.keys(amdtCache).map(function (key) {
|
||
|
const amdtEntity = amdtCache[key];
|
||
|
appMetadata[key] = {
|
||
|
client_id: amdtEntity.clientId,
|
||
|
environment: amdtEntity.environment,
|
||
|
family_id: amdtEntity.familyId,
|
||
|
};
|
||
|
});
|
||
|
return appMetadata;
|
||
|
}
|
||
|
/**
|
||
|
* Serialize the cache
|
||
|
* @param jsonContent
|
||
|
*/
|
||
|
static serializeAllCache(inMemCache) {
|
||
|
return {
|
||
|
Account: this.serializeAccounts(inMemCache.accounts),
|
||
|
IdToken: this.serializeIdTokens(inMemCache.idTokens),
|
||
|
AccessToken: this.serializeAccessTokens(inMemCache.accessTokens),
|
||
|
RefreshToken: this.serializeRefreshTokens(inMemCache.refreshTokens),
|
||
|
AppMetadata: this.serializeAppMetadata(inMemCache.appMetadata),
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
|
||
|
exports.Serializer = Serializer;
|
||
|
//# sourceMappingURL=Serializer.cjs.map
|