@azure/msal-common 15.11.0 → 15.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/account/AccountInfo.d.ts +3 -0
- package/dist/account/AccountInfo.d.ts.map +1 -1
- package/dist/account/AccountInfo.mjs +1 -1
- package/dist/account/AccountInfo.mjs.map +1 -1
- package/dist/account/AuthToken.mjs +1 -1
- package/dist/account/CcsCredential.mjs +1 -1
- package/dist/account/ClientInfo.d.ts +5 -1
- package/dist/account/ClientInfo.d.ts.map +1 -1
- package/dist/account/ClientInfo.mjs +1 -1
- package/dist/account/ClientInfo.mjs.map +1 -1
- package/dist/account/TokenClaims.mjs +1 -1
- package/dist/authority/Authority.mjs +1 -1
- package/dist/authority/AuthorityFactory.mjs +1 -1
- package/dist/authority/AuthorityMetadata.mjs +1 -1
- package/dist/authority/AuthorityOptions.mjs +1 -1
- package/dist/authority/AuthorityType.mjs +1 -1
- package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
- package/dist/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
- package/dist/authority/OpenIdConfigResponse.mjs +1 -1
- package/dist/authority/ProtocolMode.mjs +1 -1
- package/dist/authority/RegionDiscovery.mjs +1 -1
- package/dist/cache/CacheManager.mjs +1 -1
- package/dist/cache/entities/AccountEntity.d.ts +2 -1
- package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
- package/dist/cache/entities/AccountEntity.mjs +7 -1
- package/dist/cache/entities/AccountEntity.mjs.map +1 -1
- package/dist/cache/persistence/TokenCacheContext.mjs +1 -1
- package/dist/cache/utils/CacheHelpers.mjs +1 -1
- package/dist/client/AuthorizationCodeClient.mjs +1 -1
- package/dist/client/BaseClient.mjs +1 -1
- package/dist/client/RefreshTokenClient.mjs +1 -1
- package/dist/client/SilentFlowClient.mjs +1 -1
- package/dist/config/ClientConfiguration.mjs +1 -1
- package/dist/constants/AADServerParamKeys.mjs +1 -1
- package/dist/crypto/ICrypto.mjs +1 -1
- package/dist/crypto/JoseHeader.mjs +1 -1
- package/dist/crypto/PopTokenGenerator.mjs +1 -1
- package/dist/error/AuthError.mjs +1 -1
- package/dist/error/AuthErrorCodes.mjs +1 -1
- package/dist/error/CacheError.mjs +1 -1
- package/dist/error/CacheErrorCodes.mjs +1 -1
- package/dist/error/ClientAuthError.mjs +1 -1
- package/dist/error/ClientAuthErrorCodes.mjs +1 -1
- package/dist/error/ClientConfigurationError.mjs +1 -1
- package/dist/error/ClientConfigurationErrorCodes.mjs +1 -1
- package/dist/error/InteractionRequiredAuthError.mjs +1 -1
- package/dist/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
- package/dist/error/JoseHeaderError.mjs +1 -1
- package/dist/error/JoseHeaderErrorCodes.mjs +1 -1
- package/dist/error/NetworkError.mjs +1 -1
- package/dist/error/ServerError.mjs +1 -1
- package/dist/index-browser.mjs +1 -1
- package/dist/index-node.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/logger/Logger.mjs +1 -1
- package/dist/network/INetworkModule.mjs +1 -1
- package/dist/network/RequestThumbprint.mjs +1 -1
- package/dist/network/ThrottlingUtils.mjs +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.mjs +2 -2
- package/dist/protocol/Authorize.mjs +1 -1
- package/dist/request/AuthenticationHeaderParser.mjs +1 -1
- package/dist/request/RequestParameterBuilder.mjs +1 -1
- package/dist/request/ScopeSet.d.ts.map +1 -1
- package/dist/request/ScopeSet.mjs +7 -3
- package/dist/request/ScopeSet.mjs.map +1 -1
- package/dist/response/ResponseHandler.mjs +1 -1
- package/dist/telemetry/performance/IPerformanceClient.d.ts +2 -1
- package/dist/telemetry/performance/IPerformanceClient.d.ts.map +1 -1
- package/dist/telemetry/performance/PerformanceClient.d.ts +4 -1
- package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -1
- package/dist/telemetry/performance/PerformanceClient.mjs +23 -5
- package/dist/telemetry/performance/PerformanceClient.mjs.map +1 -1
- package/dist/telemetry/performance/PerformanceEvent.d.ts +9 -0
- package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
- package/dist/telemetry/performance/PerformanceEvent.mjs +1 -1
- package/dist/telemetry/performance/PerformanceEvent.mjs.map +1 -1
- package/dist/telemetry/performance/StubPerformanceClient.mjs +1 -1
- package/dist/telemetry/server/ServerTelemetryManager.mjs +1 -1
- package/dist/url/UrlString.mjs +1 -1
- package/dist/utils/ClientAssertionUtils.mjs +1 -1
- package/dist/utils/Constants.mjs +1 -1
- package/dist/utils/FunctionWrappers.mjs +1 -1
- package/dist/utils/ProtocolUtils.mjs +1 -1
- package/dist/utils/StringUtils.mjs +1 -1
- package/dist/utils/TimeUtils.mjs +1 -1
- package/dist/utils/UrlUtils.d.ts +8 -0
- package/dist/utils/UrlUtils.d.ts.map +1 -1
- package/dist/utils/UrlUtils.mjs +54 -2
- package/dist/utils/UrlUtils.mjs.map +1 -1
- package/lib/index-browser.cjs +23 -5
- package/lib/index-browser.cjs.map +1 -1
- package/lib/{index-node-CtW_2rqJ.js → index-node-D8Iaiqq3.js} +66 -4
- package/lib/index-node-D8Iaiqq3.js.map +1 -0
- package/lib/index-node.cjs +2 -2
- package/lib/index.cjs +2 -2
- package/lib/types/account/AccountInfo.d.ts +3 -0
- package/lib/types/account/AccountInfo.d.ts.map +1 -1
- package/lib/types/account/ClientInfo.d.ts +5 -1
- package/lib/types/account/ClientInfo.d.ts.map +1 -1
- package/lib/types/cache/entities/AccountEntity.d.ts +2 -1
- package/lib/types/cache/entities/AccountEntity.d.ts.map +1 -1
- package/lib/types/packageMetadata.d.ts +1 -1
- package/lib/types/request/ScopeSet.d.ts.map +1 -1
- package/lib/types/telemetry/performance/IPerformanceClient.d.ts +2 -1
- package/lib/types/telemetry/performance/IPerformanceClient.d.ts.map +1 -1
- package/lib/types/telemetry/performance/PerformanceClient.d.ts +4 -1
- package/lib/types/telemetry/performance/PerformanceClient.d.ts.map +1 -1
- package/lib/types/telemetry/performance/PerformanceEvent.d.ts +9 -0
- package/lib/types/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
- package/lib/types/utils/UrlUtils.d.ts +8 -0
- package/lib/types/utils/UrlUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/account/AccountInfo.ts +5 -0
- package/src/account/ClientInfo.ts +5 -1
- package/src/cache/entities/AccountEntity.ts +8 -0
- package/src/packageMetadata.ts +1 -1
- package/src/request/ScopeSet.ts +12 -2
- package/src/telemetry/performance/IPerformanceClient.ts +3 -1
- package/src/telemetry/performance/PerformanceClient.ts +29 -3
- package/src/telemetry/performance/PerformanceEvent.ts +12 -0
- package/src/utils/UrlUtils.ts +60 -0
- package/lib/index-node-CtW_2rqJ.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Authority } from "../../authority/Authority.js";
|
|
2
2
|
import { ICrypto } from "../../crypto/ICrypto.js";
|
|
3
|
-
import { AccountInfo, TenantProfile } from "../../account/AccountInfo.js";
|
|
3
|
+
import { AccountInfo, TenantProfile, DataBoundary } from "../../account/AccountInfo.js";
|
|
4
4
|
import { AuthorityType } from "../../authority/AuthorityType.js";
|
|
5
5
|
import { Logger } from "../../logger/Logger.js";
|
|
6
6
|
import { TokenClaims } from "../../account/TokenClaims.js";
|
|
@@ -44,6 +44,7 @@ export declare class AccountEntity {
|
|
|
44
44
|
nativeAccountId?: string;
|
|
45
45
|
tenantProfiles?: Array<TenantProfile>;
|
|
46
46
|
lastUpdatedAt: string;
|
|
47
|
+
dataBoundary?: DataBoundary;
|
|
47
48
|
/**
|
|
48
49
|
* Returns the AccountInfo interface for this account.
|
|
49
50
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountEntity.d.ts","sourceRoot":"","sources":["../../../../src/cache/entities/AccountEntity.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,OAAO,EACH,WAAW,EACX,aAAa,
|
|
1
|
+
{"version":3,"file":"AccountEntity.d.ts","sourceRoot":"","sources":["../../../../src/cache/entities/AccountEntity.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,OAAO,EACH,WAAW,EACX,aAAa,EAEb,YAAY,EACf,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACH,WAAW,EAEd,MAAM,8BAA8B,CAAC;AAGtC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,aAAa;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,cAAc,IAAI,WAAW;IAqB7B;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;;OAGG;IACH,MAAM,CAAC,aAAa,CAChB,cAAc,EAAE;QACZ,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,WAAW,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;KACzC,EACD,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GACzC,aAAa;IAsFhB;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CACxB,WAAW,EAAE,WAAW,EACxB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,WAAW,CAAC,EAAE,MAAM,GACrB,aAAa;IA2BhB;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,CACxB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,EAClB,aAAa,CAAC,EAAE,WAAW,GAC5B,MAAM;IA2BT;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAe/C;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CACrB,QAAQ,EAAE,WAAW,GAAG,IAAI,EAC5B,QAAQ,EAAE,WAAW,GAAG,IAAI,EAC5B,aAAa,CAAC,EAAE,OAAO,GACxB,OAAO;CA6Bb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScopeSet.d.ts","sourceRoot":"","sources":["../../../src/request/ScopeSet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScopeSet.d.ts","sourceRoot":"","sources":["../../../src/request/ScopeSet.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,qBAAa,QAAQ;IAEjB,OAAO,CAAC,MAAM,CAAc;gBAEhB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;IAoBtC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE,MAAM,GAAG,QAAQ;IAMrD;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,QAAQ;IAiBpE;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IASrC;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAW7C;;OAEG;IACH,sBAAsB,IAAI,OAAO;IAWjC;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMnC;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI;IAU5C;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAShC;;;OAGG;IACH,gBAAgB,IAAI,IAAI;IAMxB;;;OAGG;IACH,cAAc,CAAC,WAAW,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;IAclD;;;OAGG;IACH,qBAAqB,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO;IAkBrD;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;IAMxB;;OAEG;IACH,WAAW,IAAI,MAAM;IAQrB;;OAEG;IACH,oBAAoB,IAAI,MAAM;CAGjC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { PerformanceEvent } from "./PerformanceEvent.js";
|
|
2
2
|
import { IPerformanceMeasurement } from "./IPerformanceMeasurement.js";
|
|
3
|
+
import { AccountInfo } from "../../account/AccountInfo.js";
|
|
3
4
|
export type PerformanceCallbackFunction = (events: PerformanceEvent[]) => void;
|
|
4
5
|
export type InProgressPerformanceEvent = {
|
|
5
|
-
end: (event?: Partial<PerformanceEvent>, error?: unknown) => PerformanceEvent | null;
|
|
6
|
+
end: (event?: Partial<PerformanceEvent>, error?: unknown, account?: AccountInfo) => PerformanceEvent | null;
|
|
6
7
|
discard: () => void;
|
|
7
8
|
add: (fields: {
|
|
8
9
|
[key: string]: {} | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IPerformanceClient.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/performance/IPerformanceClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"IPerformanceClient.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/performance/IPerformanceClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,MAAM,2BAA2B,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAC;AAE/E,MAAM,MAAM,0BAA0B,GAAG;IACrC,GAAG,EAAE,CACD,KAAK,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACjC,KAAK,CAAC,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,WAAW,KACpB,gBAAgB,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,GAAG,EAAE,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS,CAAA;KAAE,KAAK,IAAI,CAAC;IACzD,SAAS,EAAE,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,KAAK,EAAE,gBAAgB,CAAC;IACxB;;OAEG;IACH,WAAW,EAAE,uBAAuB,CAAC;CACxC,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAC/B,gBAAgB,CACZ,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,GACvB,0BAA0B,CAAC;IAC9B,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACjE,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,SAAS,CACL,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS,CAAA;KAAE,EACzC,aAAa,EAAE,MAAM,GACtB,IAAI,CAAC;IACR,eAAe,CACX,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,EAC7C,aAAa,EAAE,MAAM,GACtB,IAAI,CAAC;IACR,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACvD,sBAAsB,CAAC,QAAQ,EAAE,2BAA2B,GAAG,MAAM,CAAC;IACtE,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACpE;;OAEG;IACH,2BAA2B,CACvB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACtB,uBAAuB,CAAC;IAC3B,UAAU,IAAI,MAAM,CAAC;IACrB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACvE,mBAAmB,CACf,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,SAAS,CAAC,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,OAAO,GAC5B,IAAI,CAAC;IACR,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpE;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { Logger } from "../../logger/Logger.js";
|
|
|
3
3
|
import { InProgressPerformanceEvent, IPerformanceClient, PerformanceCallbackFunction, QueueMeasurement } from "./IPerformanceClient.js";
|
|
4
4
|
import { PerformanceEvent, PerformanceEventContext, PerformanceEvents, PerformanceEventStackedContext } from "./PerformanceEvent.js";
|
|
5
5
|
import { IPerformanceMeasurement } from "./IPerformanceMeasurement.js";
|
|
6
|
+
import { AccountInfo } from "../../account/AccountInfo.js";
|
|
6
7
|
export interface PreQueueEvent {
|
|
7
8
|
name: PerformanceEvents;
|
|
8
9
|
time: number;
|
|
@@ -45,6 +46,7 @@ export declare function compactStack(stack: string, stackMaxSize: number): strin
|
|
|
45
46
|
* @returns {string}
|
|
46
47
|
*/
|
|
47
48
|
export declare function compactStackLine(line: string): string;
|
|
49
|
+
export declare function getAccountType(account?: AccountInfo): "AAD" | "MSA" | "B2C" | undefined;
|
|
48
50
|
export declare abstract class PerformanceClient implements IPerformanceClient {
|
|
49
51
|
protected authority: string;
|
|
50
52
|
protected libraryName: string;
|
|
@@ -171,9 +173,10 @@ export declare abstract class PerformanceClient implements IPerformanceClient {
|
|
|
171
173
|
*
|
|
172
174
|
* @param {PerformanceEvent} event
|
|
173
175
|
* @param {unknown} error
|
|
176
|
+
* @param {AccountInfo?} account
|
|
174
177
|
* @returns {(PerformanceEvent | null)}
|
|
175
178
|
*/
|
|
176
|
-
endMeasurement(event: PerformanceEvent, error?: unknown): PerformanceEvent | null;
|
|
179
|
+
endMeasurement(event: PerformanceEvent, error?: unknown, account?: AccountInfo): PerformanceEvent | null;
|
|
177
180
|
/**
|
|
178
181
|
* Saves extra information to be emitted when the measurements are flushed
|
|
179
182
|
* @param fields
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformanceClient.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/performance/PerformanceClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACH,0BAA0B,EAC1B,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEH,gBAAgB,EAEhB,uBAAuB,EACvB,iBAAiB,EACjB,8BAA8B,EAEjC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"PerformanceClient.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/performance/PerformanceClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACH,0BAA0B,EAC1B,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEH,gBAAgB,EAEhB,uBAAuB,EACvB,iBAAiB,EACjB,8BAA8B,EAEjC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAMvE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CACxB,KAAK,EAAE,gBAAgB,EACvB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,KAAK,CAAC,EAAE,8BAA8B,EAAE,GACzC,IAAI,CAQN;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACtB,KAAK,EAAE,gBAAgB,EACvB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,KAAK,CAAC,EAAE,8BAA8B,EAAE,EACxC,KAAK,CAAC,EAAE,OAAO,GAChB,uBAAuB,GAAG,SAAS,CAmErC;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACpB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,gBAAgB,EACvB,YAAY,GAAE,MAAU,GACzB,IAAI,CAsCN;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CA0C1E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoBrD;AAED,wBAAgB,cAAc,CAC1B,OAAO,CAAC,EAAE,WAAW,GACtB,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAYnC;AAED,8BAAsB,iBAAkB,YAAW,kBAAkB;IACjE,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACrD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAE9D;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAE/D;;;;;OAKG;IACH,SAAS,CAAC,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAElE;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAElE,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEjC;;;;OAIG;IACH,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,8BAA8B,EAAE,CAAC,CAAC;IAEpE;;;;OAIG;IACH,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7C;;;;;;;;;;;;;OAaG;gBAEC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,oBAAoB,EAC1C,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EACvB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAuBvC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,IAAI,MAAM;IAE7B;;;;;;;;OAQG;IACH,2BAA2B,CACvB,WAAW,EAAE,MAAM,EAAE,wDAAwD;IAC7E,aAAa,EAAE,MAAM,GACtB,uBAAuB;IAI1B;;;;;;;OAOG;IACH,QAAQ,CAAC,eAAe,CACpB,SAAS,EAAE,iBAAiB,EAC5B,aAAa,CAAC,EAAE,MAAM,GACvB,IAAI;IAEP;;;;;;OAMG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAmBxE;;;;;;;OAOG;IACH,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAyBtE;;;;;;;;OAQG;IACH,mBAAmB,CACf,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,SAAS,CAAC,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,OAAO,GAC5B,IAAI;IA4CP;;;;;;OAMG;IACH,gBAAgB,CACZ,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,GACvB,0BAA0B;IAwE7B;;;;;;;;;;OAUG;IACH,cAAc,CACV,KAAK,EAAE,gBAAgB,EACvB,KAAK,CAAC,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,WAAW,GACtB,gBAAgB,GAAG,IAAI;IAkG1B;;;;OAIG;IACH,SAAS,CACL,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS,CAAA;KAAE,EACzC,aAAa,EAAE,MAAM,GACtB,IAAI;IAgBP;;;;OAIG;IACH,eAAe,CACX,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,EAC7C,aAAa,EAAE,MAAM,GACtB,IAAI;IAoBP;;;;;;;;OAQG;IACH,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAuBlE,OAAO,CAAC,YAAY;IA6BpB;;;;OAIG;IACH,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IA0BhD;;;;;OAKG;IACH,sBAAsB,CAAC,QAAQ,EAAE,2BAA2B,GAAG,MAAM;IAmBrE;;;;;OAKG;IACH,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAgBtD;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAiBnE;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAQ9B;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAKxB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DataBoundary } from "../../account/AccountInfo.js";
|
|
1
2
|
/**
|
|
2
3
|
* Enumeration of operations that are instrumented by have their performance measured by the PerformanceClient.
|
|
3
4
|
*
|
|
@@ -389,6 +390,13 @@ export type PerformanceEvent = {
|
|
|
389
390
|
* @type {?boolean}
|
|
390
391
|
*/
|
|
391
392
|
isNativeBroker?: boolean;
|
|
393
|
+
/**
|
|
394
|
+
* Platform-specific fields, when calling STS and/or broker for token requests
|
|
395
|
+
*/
|
|
396
|
+
isPlatformAuthorizeRequest?: boolean;
|
|
397
|
+
isPlatformBrokerRequest?: boolean;
|
|
398
|
+
brokerErrorName?: string;
|
|
399
|
+
brokerErrorCode?: string;
|
|
392
400
|
/**
|
|
393
401
|
* Request ID returned from the response
|
|
394
402
|
*
|
|
@@ -539,6 +547,7 @@ export type PerformanceEvent = {
|
|
|
539
547
|
msalInstanceCount?: number;
|
|
540
548
|
sameClientIdInstanceCount?: number;
|
|
541
549
|
navigateCallbackResult?: boolean;
|
|
550
|
+
dataBoundary?: DataBoundary;
|
|
542
551
|
};
|
|
543
552
|
export type PerformanceEventContext = {
|
|
544
553
|
dur?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformanceEvent.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/performance/PerformanceEvent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PerformanceEvent.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/performance/PerformanceEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,4 +13,12 @@ export declare function getDeserializedResponse(responseString: string): Authori
|
|
|
13
13
|
* Utility to create a URL from the params map
|
|
14
14
|
*/
|
|
15
15
|
export declare function mapToQueryString(parameters: Map<string, string>, encodeExtraParams?: boolean, extraQueryParameters?: StringDict): string;
|
|
16
|
+
/**
|
|
17
|
+
* Normalizes URLs for comparison by removing hash, canonicalizing,
|
|
18
|
+
* and ensuring consistent URL encoding in query parameters.
|
|
19
|
+
* This fixes redirect loops when URLs contain encoded characters like apostrophes (%27).
|
|
20
|
+
* @param url - URL to normalize
|
|
21
|
+
* @returns Normalized URL string for comparison
|
|
22
|
+
*/
|
|
23
|
+
export declare function normalizeUrlForComparison(url: string): string;
|
|
16
24
|
//# sourceMappingURL=UrlUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/UrlUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAKrE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"UrlUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/UrlUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAKrE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA6B5C;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAWtE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,cAAc,EAAE,MAAM,GACvB,iBAAiB,GAAG,IAAI,CA4B1B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,iBAAiB,GAAE,OAAc,EACjC,oBAAoB,CAAC,EAAE,UAAU,GAClC,MAAM,CAgBR;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAwB7D"}
|
package/package.json
CHANGED
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { TokenClaims } from "./TokenClaims.js";
|
|
7
|
+
|
|
8
|
+
export type DataBoundary = "EU" | "None";
|
|
9
|
+
|
|
7
10
|
/**
|
|
8
11
|
* Account object with the following signature:
|
|
9
12
|
* - homeAccountId - Home account identifier for this account object
|
|
@@ -16,6 +19,7 @@ import { TokenClaims } from "./TokenClaims.js";
|
|
|
16
19
|
* - idTokenClaims - Object contains claims from ID token
|
|
17
20
|
* - nativeAccountId - The user's native account ID
|
|
18
21
|
* - tenantProfiles - Map of tenant profile objects for each tenant that the account has authenticated with in the browser
|
|
22
|
+
* - dataBoundary - Data boundary extracted from clientInfo
|
|
19
23
|
*/
|
|
20
24
|
export type AccountInfo = {
|
|
21
25
|
homeAccountId: string;
|
|
@@ -38,6 +42,7 @@ export type AccountInfo = {
|
|
|
38
42
|
nativeAccountId?: string;
|
|
39
43
|
authorityType?: string;
|
|
40
44
|
tenantProfiles?: Map<string, TenantProfile>;
|
|
45
|
+
dataBoundary?: DataBoundary;
|
|
41
46
|
};
|
|
42
47
|
|
|
43
48
|
/**
|
|
@@ -10,11 +10,15 @@ import {
|
|
|
10
10
|
import { Separators, Constants } from "../utils/Constants.js";
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
* Client info object which consists of
|
|
13
|
+
* Client info object which consists of:
|
|
14
|
+
* uid: user id
|
|
15
|
+
* utid: tenant id
|
|
16
|
+
* xms_tdbr: optional, only for non-US tenants
|
|
14
17
|
*/
|
|
15
18
|
export type ClientInfo = {
|
|
16
19
|
uid: string;
|
|
17
20
|
utid: string;
|
|
21
|
+
xms_tdbr?: string;
|
|
18
22
|
};
|
|
19
23
|
|
|
20
24
|
/**
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
AccountInfo,
|
|
12
12
|
TenantProfile,
|
|
13
13
|
buildTenantProfile,
|
|
14
|
+
DataBoundary,
|
|
14
15
|
} from "../../account/AccountInfo.js";
|
|
15
16
|
import {
|
|
16
17
|
createClientAuthError,
|
|
@@ -64,6 +65,7 @@ export class AccountEntity {
|
|
|
64
65
|
nativeAccountId?: string;
|
|
65
66
|
tenantProfiles?: Array<TenantProfile>;
|
|
66
67
|
lastUpdatedAt: string;
|
|
68
|
+
dataBoundary?: DataBoundary;
|
|
67
69
|
|
|
68
70
|
/**
|
|
69
71
|
* Returns the AccountInfo interface for this account.
|
|
@@ -85,6 +87,7 @@ export class AccountEntity {
|
|
|
85
87
|
return [tenantProfile.tenantId, tenantProfile];
|
|
86
88
|
})
|
|
87
89
|
),
|
|
90
|
+
dataBoundary: this.dataBoundary,
|
|
88
91
|
};
|
|
89
92
|
}
|
|
90
93
|
|
|
@@ -130,6 +133,10 @@ export class AccountEntity {
|
|
|
130
133
|
accountDetails.clientInfo,
|
|
131
134
|
base64Decode
|
|
132
135
|
);
|
|
136
|
+
if (clientInfo.xms_tdbr) {
|
|
137
|
+
account.dataBoundary =
|
|
138
|
+
clientInfo.xms_tdbr === "EU" ? "EU" : "None";
|
|
139
|
+
}
|
|
133
140
|
}
|
|
134
141
|
|
|
135
142
|
account.clientInfo = accountDetails.clientInfo;
|
|
@@ -227,6 +234,7 @@ export class AccountEntity {
|
|
|
227
234
|
account.tenantProfiles = Array.from(
|
|
228
235
|
accountInfo.tenantProfiles?.values() || []
|
|
229
236
|
);
|
|
237
|
+
account.dataBoundary = accountInfo.dataBoundary;
|
|
230
238
|
|
|
231
239
|
return account;
|
|
232
240
|
}
|
package/src/packageMetadata.ts
CHANGED
package/src/request/ScopeSet.ts
CHANGED
|
@@ -12,7 +12,11 @@ import {
|
|
|
12
12
|
ClientAuthErrorCodes,
|
|
13
13
|
createClientAuthError,
|
|
14
14
|
} from "../error/ClientAuthError.js";
|
|
15
|
-
import {
|
|
15
|
+
import {
|
|
16
|
+
Constants,
|
|
17
|
+
OIDC_SCOPES,
|
|
18
|
+
OIDC_DEFAULT_SCOPES,
|
|
19
|
+
} from "../utils/Constants.js";
|
|
16
20
|
|
|
17
21
|
/**
|
|
18
22
|
* The ScopeSet class creates a set of scopes. Scopes are case-insensitive, unique values, so the Set object in JS makes
|
|
@@ -61,7 +65,13 @@ export class ScopeSet {
|
|
|
61
65
|
* @returns
|
|
62
66
|
*/
|
|
63
67
|
static createSearchScopes(inputScopeString: Array<string>): ScopeSet {
|
|
64
|
-
|
|
68
|
+
// Handle empty scopes by using default OIDC scopes for cache lookup
|
|
69
|
+
const scopesToUse =
|
|
70
|
+
inputScopeString && inputScopeString.length > 0
|
|
71
|
+
? inputScopeString
|
|
72
|
+
: [...OIDC_DEFAULT_SCOPES];
|
|
73
|
+
|
|
74
|
+
const scopeSet = new ScopeSet(scopesToUse);
|
|
65
75
|
if (!scopeSet.containsOnlyOIDCScopes()) {
|
|
66
76
|
scopeSet.removeOIDCScopes();
|
|
67
77
|
} else {
|
|
@@ -5,13 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
import { PerformanceEvent } from "./PerformanceEvent.js";
|
|
7
7
|
import { IPerformanceMeasurement } from "./IPerformanceMeasurement.js";
|
|
8
|
+
import { AccountInfo } from "../../account/AccountInfo.js";
|
|
8
9
|
|
|
9
10
|
export type PerformanceCallbackFunction = (events: PerformanceEvent[]) => void;
|
|
10
11
|
|
|
11
12
|
export type InProgressPerformanceEvent = {
|
|
12
13
|
end: (
|
|
13
14
|
event?: Partial<PerformanceEvent>,
|
|
14
|
-
error?: unknown
|
|
15
|
+
error?: unknown,
|
|
16
|
+
account?: AccountInfo
|
|
15
17
|
) => PerformanceEvent | null;
|
|
16
18
|
discard: () => void;
|
|
17
19
|
add: (fields: { [key: string]: {} | undefined }) => void;
|
|
@@ -26,6 +26,7 @@ import { AuthError } from "../../error/AuthError.js";
|
|
|
26
26
|
import { CacheError } from "../../error/CacheError.js";
|
|
27
27
|
import { ServerError } from "../../error/ServerError.js";
|
|
28
28
|
import { InteractionRequiredAuthError } from "../../error/InteractionRequiredAuthError.js";
|
|
29
|
+
import { AccountInfo } from "../../account/AccountInfo.js";
|
|
29
30
|
|
|
30
31
|
export interface PreQueueEvent {
|
|
31
32
|
name: PerformanceEvents;
|
|
@@ -264,6 +265,22 @@ export function compactStackLine(line: string): string {
|
|
|
264
265
|
return line.trimStart();
|
|
265
266
|
}
|
|
266
267
|
|
|
268
|
+
export function getAccountType(
|
|
269
|
+
account?: AccountInfo
|
|
270
|
+
): "AAD" | "MSA" | "B2C" | undefined {
|
|
271
|
+
const idTokenClaims = account?.idTokenClaims;
|
|
272
|
+
if (idTokenClaims?.tfp || idTokenClaims?.acr) {
|
|
273
|
+
return "B2C";
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
if (!idTokenClaims?.tid) {
|
|
277
|
+
return undefined;
|
|
278
|
+
} else if (idTokenClaims?.tid === "9188040d-6c67-4c5b-b112-36a304b66dad") {
|
|
279
|
+
return "MSA";
|
|
280
|
+
}
|
|
281
|
+
return "AAD";
|
|
282
|
+
}
|
|
283
|
+
|
|
267
284
|
export abstract class PerformanceClient implements IPerformanceClient {
|
|
268
285
|
protected authority: string;
|
|
269
286
|
protected libraryName: string;
|
|
@@ -562,7 +579,8 @@ export abstract class PerformanceClient implements IPerformanceClient {
|
|
|
562
579
|
return {
|
|
563
580
|
end: (
|
|
564
581
|
event?: Partial<PerformanceEvent>,
|
|
565
|
-
error?: unknown
|
|
582
|
+
error?: unknown,
|
|
583
|
+
account?: AccountInfo
|
|
566
584
|
): PerformanceEvent | null => {
|
|
567
585
|
return this.endMeasurement(
|
|
568
586
|
{
|
|
@@ -571,7 +589,8 @@ export abstract class PerformanceClient implements IPerformanceClient {
|
|
|
571
589
|
// Properties set when event ends
|
|
572
590
|
...event,
|
|
573
591
|
},
|
|
574
|
-
error
|
|
592
|
+
error,
|
|
593
|
+
account
|
|
575
594
|
);
|
|
576
595
|
},
|
|
577
596
|
discard: () => {
|
|
@@ -599,11 +618,13 @@ export abstract class PerformanceClient implements IPerformanceClient {
|
|
|
599
618
|
*
|
|
600
619
|
* @param {PerformanceEvent} event
|
|
601
620
|
* @param {unknown} error
|
|
621
|
+
* @param {AccountInfo?} account
|
|
602
622
|
* @returns {(PerformanceEvent | null)}
|
|
603
623
|
*/
|
|
604
624
|
endMeasurement(
|
|
605
625
|
event: PerformanceEvent,
|
|
606
|
-
error?: unknown
|
|
626
|
+
error?: unknown,
|
|
627
|
+
account?: AccountInfo
|
|
607
628
|
): PerformanceEvent | null {
|
|
608
629
|
const rootEvent: PerformanceEvent | undefined =
|
|
609
630
|
this.eventsByCorrelationId.get(event.correlationId);
|
|
@@ -691,6 +712,11 @@ export abstract class PerformanceClient implements IPerformanceClient {
|
|
|
691
712
|
incompleteSubsCount,
|
|
692
713
|
context,
|
|
693
714
|
};
|
|
715
|
+
if (account) {
|
|
716
|
+
finalEvent.accountType = getAccountType(account);
|
|
717
|
+
finalEvent.dataBoundary = account.dataBoundary;
|
|
718
|
+
}
|
|
719
|
+
|
|
694
720
|
this.truncateIntegralFields(finalEvent);
|
|
695
721
|
this.emitEvents([finalEvent], event.correlationId);
|
|
696
722
|
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import { DataBoundary } from "../../account/AccountInfo.js";
|
|
7
|
+
|
|
6
8
|
/**
|
|
7
9
|
* Enumeration of operations that are instrumented by have their performance measured by the PerformanceClient.
|
|
8
10
|
*
|
|
@@ -715,6 +717,14 @@ export type PerformanceEvent = {
|
|
|
715
717
|
*/
|
|
716
718
|
isNativeBroker?: boolean;
|
|
717
719
|
|
|
720
|
+
/**
|
|
721
|
+
* Platform-specific fields, when calling STS and/or broker for token requests
|
|
722
|
+
*/
|
|
723
|
+
isPlatformAuthorizeRequest?: boolean;
|
|
724
|
+
isPlatformBrokerRequest?: boolean;
|
|
725
|
+
brokerErrorName?: string;
|
|
726
|
+
brokerErrorCode?: string;
|
|
727
|
+
|
|
718
728
|
/**
|
|
719
729
|
* Request ID returned from the response
|
|
720
730
|
*
|
|
@@ -904,6 +914,8 @@ export type PerformanceEvent = {
|
|
|
904
914
|
sameClientIdInstanceCount?: number;
|
|
905
915
|
|
|
906
916
|
navigateCallbackResult?: boolean;
|
|
917
|
+
|
|
918
|
+
dataBoundary?: DataBoundary;
|
|
907
919
|
};
|
|
908
920
|
|
|
909
921
|
export type PerformanceEventContext = {
|
package/src/utils/UrlUtils.ts
CHANGED
|
@@ -9,6 +9,33 @@ import {
|
|
|
9
9
|
createClientAuthError,
|
|
10
10
|
} from "../error/ClientAuthError.js";
|
|
11
11
|
import { StringDict } from "./MsalTypes.js";
|
|
12
|
+
import { StringUtils } from "./StringUtils.js";
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Canonicalizes a URL by making it lowercase and ensuring it ends with /
|
|
16
|
+
* Inlined version of UrlString.canonicalizeUri to avoid circular dependency
|
|
17
|
+
* @param url - URL to canonicalize
|
|
18
|
+
* @returns Canonicalized URL
|
|
19
|
+
*/
|
|
20
|
+
function canonicalizeUrl(url: string): string {
|
|
21
|
+
if (!url) {
|
|
22
|
+
return url;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
let lowerCaseUrl = url.toLowerCase();
|
|
26
|
+
|
|
27
|
+
if (StringUtils.endsWith(lowerCaseUrl, "?")) {
|
|
28
|
+
lowerCaseUrl = lowerCaseUrl.slice(0, -1);
|
|
29
|
+
} else if (StringUtils.endsWith(lowerCaseUrl, "?/")) {
|
|
30
|
+
lowerCaseUrl = lowerCaseUrl.slice(0, -2);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (!StringUtils.endsWith(lowerCaseUrl, "/")) {
|
|
34
|
+
lowerCaseUrl += "/";
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return lowerCaseUrl;
|
|
38
|
+
}
|
|
12
39
|
|
|
13
40
|
/**
|
|
14
41
|
* Parses hash string from given string. Returns empty string if no hash symbol is found.
|
|
@@ -86,3 +113,36 @@ export function mapToQueryString(
|
|
|
86
113
|
|
|
87
114
|
return queryParameterArray.join("&");
|
|
88
115
|
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Normalizes URLs for comparison by removing hash, canonicalizing,
|
|
119
|
+
* and ensuring consistent URL encoding in query parameters.
|
|
120
|
+
* This fixes redirect loops when URLs contain encoded characters like apostrophes (%27).
|
|
121
|
+
* @param url - URL to normalize
|
|
122
|
+
* @returns Normalized URL string for comparison
|
|
123
|
+
*/
|
|
124
|
+
export function normalizeUrlForComparison(url: string): string {
|
|
125
|
+
if (!url) {
|
|
126
|
+
return url;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// Remove hash first
|
|
130
|
+
const urlWithoutHash = url.split("#")[0];
|
|
131
|
+
|
|
132
|
+
try {
|
|
133
|
+
// Parse the URL to handle encoding consistently
|
|
134
|
+
const urlObj = new URL(urlWithoutHash);
|
|
135
|
+
|
|
136
|
+
/*
|
|
137
|
+
* Reconstruct the URL with properly decoded query parameters
|
|
138
|
+
* This ensures that %27 and ' are treated as equivalent
|
|
139
|
+
*/
|
|
140
|
+
const normalizedUrl = urlObj.origin + urlObj.pathname + urlObj.search;
|
|
141
|
+
|
|
142
|
+
// Apply canonicalization logic inline to avoid circular dependency
|
|
143
|
+
return canonicalizeUrl(normalizedUrl);
|
|
144
|
+
} catch (e) {
|
|
145
|
+
// Fallback to original logic if URL parsing fails
|
|
146
|
+
return canonicalizeUrl(urlWithoutHash);
|
|
147
|
+
}
|
|
148
|
+
}
|