@azure/msal-browser 2.32.2 → 2.34.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/README.md +1 -1
- package/dist/_virtual/_tslib.js +1 -1
- package/dist/app/ClientApplication.d.ts +3 -0
- package/dist/app/ClientApplication.d.ts.map +1 -1
- package/dist/app/ClientApplication.js +75 -26
- package/dist/app/ClientApplication.js.map +1 -1
- package/dist/app/IPublicClientApplication.js +1 -1
- package/dist/app/PublicClientApplication.d.ts +2 -0
- package/dist/app/PublicClientApplication.d.ts.map +1 -1
- package/dist/app/PublicClientApplication.js +37 -15
- package/dist/app/PublicClientApplication.js.map +1 -1
- package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +10 -7
- package/dist/broker/nativeBroker/NativeMessageHandler.d.ts.map +1 -1
- package/dist/broker/nativeBroker/NativeMessageHandler.js +18 -8
- package/dist/broker/nativeBroker/NativeMessageHandler.js.map +1 -1
- package/dist/cache/AsyncMemoryStorage.js +1 -1
- package/dist/cache/BrowserCacheManager.js +1 -1
- package/dist/cache/BrowserStorage.js +1 -1
- package/dist/cache/CryptoKeyStore.js +1 -1
- package/dist/cache/DatabaseStorage.js +1 -1
- package/dist/cache/MemoryStorage.js +1 -1
- package/dist/cache/TokenCache.js +1 -1
- package/dist/config/Configuration.js +1 -1
- package/dist/crypto/BrowserCrypto.js +1 -1
- package/dist/crypto/CryptoOps.js +1 -1
- package/dist/crypto/GuidGenerator.js +1 -1
- package/dist/crypto/ModernBrowserCrypto.js +1 -1
- package/dist/crypto/MsBrowserCrypto.js +1 -1
- package/dist/crypto/MsrBrowserCrypto.js +1 -1
- package/dist/crypto/PkceGenerator.js +1 -1
- package/dist/crypto/SignedHttpRequest.js +1 -1
- package/dist/encode/Base64Decode.js +1 -1
- package/dist/encode/Base64Encode.js +1 -1
- package/dist/error/BrowserAuthError.d.ts +8 -0
- package/dist/error/BrowserAuthError.d.ts.map +1 -1
- package/dist/error/BrowserAuthError.js +11 -1
- package/dist/error/BrowserAuthError.js.map +1 -1
- package/dist/error/BrowserConfigurationAuthError.js +1 -1
- package/dist/error/NativeAuthError.js +1 -1
- package/dist/event/EventHandler.js +1 -1
- package/dist/event/EventMessage.js +1 -1
- package/dist/event/EventType.js +1 -1
- package/dist/index.cjs.js +1683 -979
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/interaction_client/BaseInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/BaseInteractionClient.js +3 -2
- package/dist/interaction_client/BaseInteractionClient.js.map +1 -1
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.js +1 -1
- package/dist/interaction_client/NativeInteractionClient.d.ts +66 -3
- package/dist/interaction_client/NativeInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/NativeInteractionClient.js +174 -68
- package/dist/interaction_client/NativeInteractionClient.js.map +1 -1
- package/dist/interaction_client/PopupClient.d.ts.map +1 -1
- package/dist/interaction_client/PopupClient.js +9 -2
- package/dist/interaction_client/PopupClient.js.map +1 -1
- package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
- package/dist/interaction_client/RedirectClient.js +13 -5
- package/dist/interaction_client/RedirectClient.js.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.js +7 -3
- package/dist/interaction_client/SilentAuthCodeClient.js.map +1 -1
- package/dist/interaction_client/SilentCacheClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentCacheClient.js +7 -2
- package/dist/interaction_client/SilentCacheClient.js.map +1 -1
- package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentIframeClient.js +21 -4
- package/dist/interaction_client/SilentIframeClient.js.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.js +9 -3
- package/dist/interaction_client/SilentRefreshClient.js.map +1 -1
- package/dist/interaction_client/StandardInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/StandardInteractionClient.js +16 -5
- package/dist/interaction_client/StandardInteractionClient.js.map +1 -1
- package/dist/interaction_handler/InteractionHandler.d.ts +3 -2
- package/dist/interaction_handler/InteractionHandler.d.ts.map +1 -1
- package/dist/interaction_handler/InteractionHandler.js +12 -4
- package/dist/interaction_handler/InteractionHandler.js.map +1 -1
- package/dist/interaction_handler/RedirectHandler.d.ts +2 -2
- package/dist/interaction_handler/RedirectHandler.d.ts.map +1 -1
- package/dist/interaction_handler/RedirectHandler.js +3 -3
- package/dist/interaction_handler/RedirectHandler.js.map +1 -1
- package/dist/interaction_handler/SilentHandler.d.ts +2 -2
- package/dist/interaction_handler/SilentHandler.d.ts.map +1 -1
- package/dist/interaction_handler/SilentHandler.js +13 -15
- package/dist/interaction_handler/SilentHandler.js.map +1 -1
- package/dist/internals.d.ts +5 -0
- package/dist/internals.d.ts.map +1 -1
- package/dist/internals.js +4 -1
- package/dist/internals.js.map +1 -1
- package/dist/navigation/NavigationClient.js +1 -1
- package/dist/network/FetchClient.js +1 -1
- package/dist/network/XhrClient.js +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.js +2 -2
- package/dist/packageMetadata.js.map +1 -1
- package/dist/request/EndSessionPopupRequest.d.ts +1 -1
- package/dist/request/EndSessionPopupRequest.d.ts.map +1 -1
- package/dist/request/EndSessionRequest.d.ts +1 -1
- package/dist/request/EndSessionRequest.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.d.ts +20 -1
- package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.js +80 -3
- package/dist/telemetry/BrowserPerformanceClient.js.map +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +14 -5
- package/dist/telemetry/BrowserPerformanceMeasurement.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.js +36 -4
- package/dist/telemetry/BrowserPerformanceMeasurement.js.map +1 -1
- package/dist/utils/BrowserConstants.js +1 -1
- package/dist/utils/BrowserProtocolUtils.js +1 -1
- package/dist/utils/BrowserStringUtils.js +1 -1
- package/dist/utils/BrowserUtils.js +1 -1
- package/dist/utils/MathUtils.js +1 -1
- package/lib/msal-browser.js +1683 -979
- package/lib/msal-browser.js.map +1 -1
- package/lib/msal-browser.min.js +43 -44
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -59,7 +59,7 @@ npm install @azure/msal-browser
|
|
|
59
59
|
|
|
60
60
|
<!-- CDN_LATEST -->
|
|
61
61
|
```html
|
|
62
|
-
<script type="text/javascript" src="https://alcdn.msauth.net/browser/2.
|
|
62
|
+
<script type="text/javascript" src="https://alcdn.msauth.net/browser/2.33.0/js/msal-browser.min.js"></script>
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
See [here](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/cdn-usage.md) for more info on how to use this package from the Microsoft CDN.
|
package/dist/_virtual/_tslib.js
CHANGED
|
@@ -36,6 +36,8 @@ export declare abstract class ClientApplication {
|
|
|
36
36
|
private hybridAuthCodeResponses;
|
|
37
37
|
protected performanceClient: IPerformanceClient;
|
|
38
38
|
protected initialized: boolean;
|
|
39
|
+
private ssoSilentMeasurement?;
|
|
40
|
+
private acquireTokenByCodeAsyncMeasurement?;
|
|
39
41
|
/**
|
|
40
42
|
* @constructor
|
|
41
43
|
* Constructor for the PublicClientApplication used to instantiate the PublicClientApplication object
|
|
@@ -88,6 +90,7 @@ export declare abstract class ClientApplication {
|
|
|
88
90
|
* @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.
|
|
89
91
|
*/
|
|
90
92
|
acquireTokenPopup(request: PopupRequest): Promise<AuthenticationResult>;
|
|
93
|
+
private trackPageVisibilityWithMeasurement;
|
|
91
94
|
/**
|
|
92
95
|
* This function uses a hidden iframe to fetch an authorization code from the eSTS. There are cases where this may not work:
|
|
93
96
|
* - Any browser using a form of Intelligent Tracking Prevention
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientApplication.d.ts","sourceRoot":"","sources":["../../src/app/ClientApplication.ts"],"names":[],"mappings":"AAMA,OAAO,EAA6C,WAAW,EAAa,cAAc,EAAE,oBAAoB,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAA+D,2BAA2B,EAAyB,kBAAkB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"ClientApplication.d.ts","sourceRoot":"","sources":["../../src/app/ClientApplication.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.34.0 2023-03-07 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { __awaiter, __generator, __assign } from '../_virtual/_tslib.js';
|
|
4
4
|
import { CryptoOps } from '../crypto/CryptoOps.js';
|
|
5
|
-
import { Constants, InteractionRequiredAuthError,
|
|
5
|
+
import { PerformanceEvents, Constants, InteractionRequiredAuthError, AuthError, ClientAuthError, StringUtils, PromptValue, Logger, StubPerformanceClient, DEFAULT_CRYPTO_IMPLEMENTATION } from '@azure/msal-common';
|
|
6
6
|
import { BrowserCacheManager, DEFAULT_BROWSER_CACHE_MANAGER } from '../cache/BrowserCacheManager.js';
|
|
7
7
|
import { buildConfiguration } from '../config/Configuration.js';
|
|
8
8
|
import { InteractionType, ApiId, TemporaryCacheKeys, CacheLookupPolicy, BrowserCacheLocation } from '../utils/BrowserConstants.js';
|
|
@@ -90,13 +90,15 @@ var ClientApplication = /** @class */ (function () {
|
|
|
90
90
|
this.nativeInternalStorage = new BrowserCacheManager(this.config.auth.clientId, nativeCacheOptions, this.browserCrypto, this.logger);
|
|
91
91
|
// Initialize the token cache
|
|
92
92
|
this.tokenCache = new TokenCache(this.config, this.browserStorage, this.logger, this.browserCrypto);
|
|
93
|
+
// Register listener functions
|
|
94
|
+
this.trackPageVisibilityWithMeasurement = this.trackPageVisibilityWithMeasurement.bind(this);
|
|
93
95
|
}
|
|
94
96
|
/**
|
|
95
97
|
* Initializer function to perform async startup tasks such as connecting to WAM extension
|
|
96
98
|
*/
|
|
97
99
|
ClientApplication.prototype.initialize = function () {
|
|
98
100
|
return __awaiter(this, void 0, void 0, function () {
|
|
99
|
-
var _a, e_1;
|
|
101
|
+
var allowNativeBroker, initMeasurement, _a, e_1;
|
|
100
102
|
return __generator(this, function (_b) {
|
|
101
103
|
switch (_b.label) {
|
|
102
104
|
case 0:
|
|
@@ -105,13 +107,15 @@ var ClientApplication = /** @class */ (function () {
|
|
|
105
107
|
this.logger.info("initialize has already been called, exiting early.");
|
|
106
108
|
return [2 /*return*/];
|
|
107
109
|
}
|
|
110
|
+
allowNativeBroker = this.config.system.allowNativeBroker;
|
|
111
|
+
initMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.InitializeClientApplication);
|
|
108
112
|
this.eventHandler.emitEvent(EventType.INITIALIZE_START);
|
|
109
|
-
if (!
|
|
113
|
+
if (!allowNativeBroker) return [3 /*break*/, 4];
|
|
110
114
|
_b.label = 1;
|
|
111
115
|
case 1:
|
|
112
116
|
_b.trys.push([1, 3, , 4]);
|
|
113
117
|
_a = this;
|
|
114
|
-
return [4 /*yield*/, NativeMessageHandler.createProvider(this.logger, this.config.system.nativeBrokerHandshakeTimeout)];
|
|
118
|
+
return [4 /*yield*/, NativeMessageHandler.createProvider(this.logger, this.config.system.nativeBrokerHandshakeTimeout, this.performanceClient)];
|
|
115
119
|
case 2:
|
|
116
120
|
_a.nativeExtensionProvider = _b.sent();
|
|
117
121
|
return [3 /*break*/, 4];
|
|
@@ -122,6 +126,7 @@ var ClientApplication = /** @class */ (function () {
|
|
|
122
126
|
case 4:
|
|
123
127
|
this.initialized = true;
|
|
124
128
|
this.eventHandler.emitEvent(EventType.INITIALIZE_END);
|
|
129
|
+
initMeasurement.endMeasurement({ allowNativeBroker: allowNativeBroker, success: true });
|
|
125
130
|
return [2 /*return*/];
|
|
126
131
|
}
|
|
127
132
|
});
|
|
@@ -297,7 +302,6 @@ var ClientApplication = /** @class */ (function () {
|
|
|
297
302
|
isNativeBroker: true,
|
|
298
303
|
requestId: response.requestId
|
|
299
304
|
});
|
|
300
|
-
atPopupMeasurement.flushMeasurement();
|
|
301
305
|
return response;
|
|
302
306
|
}).catch(function (e) {
|
|
303
307
|
if (e instanceof NativeAuthError && e.isFatal()) {
|
|
@@ -337,7 +341,6 @@ var ClientApplication = /** @class */ (function () {
|
|
|
337
341
|
success: true,
|
|
338
342
|
requestId: result.requestId
|
|
339
343
|
});
|
|
340
|
-
atPopupMeasurement.flushMeasurement();
|
|
341
344
|
return result;
|
|
342
345
|
}).catch(function (e) {
|
|
343
346
|
if (loggedInAccounts.length > 0) {
|
|
@@ -351,11 +354,20 @@ var ClientApplication = /** @class */ (function () {
|
|
|
351
354
|
subErrorCode: e.subError,
|
|
352
355
|
success: false
|
|
353
356
|
});
|
|
354
|
-
atPopupMeasurement.flushMeasurement();
|
|
355
357
|
// Since this function is syncronous we need to reject
|
|
356
358
|
return Promise.reject(e);
|
|
357
359
|
});
|
|
358
360
|
};
|
|
361
|
+
ClientApplication.prototype.trackPageVisibilityWithMeasurement = function () {
|
|
362
|
+
var measurement = this.ssoSilentMeasurement || this.acquireTokenByCodeAsyncMeasurement;
|
|
363
|
+
if (!measurement) {
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
366
|
+
this.logger.info("Perf: Visibility change detected in ", measurement.event.name);
|
|
367
|
+
measurement.increment({
|
|
368
|
+
visibilityChangeCount: 1,
|
|
369
|
+
});
|
|
370
|
+
};
|
|
359
371
|
// #endregion
|
|
360
372
|
// #region Silent Flow
|
|
361
373
|
/**
|
|
@@ -374,16 +386,21 @@ var ClientApplication = /** @class */ (function () {
|
|
|
374
386
|
* @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.
|
|
375
387
|
*/
|
|
376
388
|
ClientApplication.prototype.ssoSilent = function (request) {
|
|
389
|
+
var _a;
|
|
377
390
|
return __awaiter(this, void 0, void 0, function () {
|
|
378
|
-
var correlationId, validRequest,
|
|
391
|
+
var correlationId, validRequest, result, silentIframeClient;
|
|
379
392
|
var _this = this;
|
|
380
|
-
return __generator(this, function (
|
|
393
|
+
return __generator(this, function (_b) {
|
|
381
394
|
correlationId = this.getRequestCorrelationId(request);
|
|
382
395
|
validRequest = __assign(__assign({}, request), {
|
|
383
396
|
// will be PromptValue.NONE or PromptValue.NO_SESSION
|
|
384
397
|
prompt: request.prompt, correlationId: correlationId });
|
|
385
398
|
this.preflightBrowserEnvironmentCheck(InteractionType.Silent);
|
|
386
|
-
ssoSilentMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SsoSilent, correlationId);
|
|
399
|
+
this.ssoSilentMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SsoSilent, correlationId);
|
|
400
|
+
(_a = this.ssoSilentMeasurement) === null || _a === void 0 ? void 0 : _a.increment({
|
|
401
|
+
visibilityChangeCount: 0
|
|
402
|
+
});
|
|
403
|
+
document.addEventListener("visibilitychange", this.trackPageVisibilityWithMeasurement);
|
|
387
404
|
this.logger.verbose("ssoSilent called", correlationId);
|
|
388
405
|
this.eventHandler.emitEvent(EventType.SSO_SILENT_START, InteractionType.Silent, validRequest);
|
|
389
406
|
if (this.canUseNative(validRequest)) {
|
|
@@ -402,27 +419,29 @@ var ClientApplication = /** @class */ (function () {
|
|
|
402
419
|
result = silentIframeClient.acquireToken(validRequest);
|
|
403
420
|
}
|
|
404
421
|
return [2 /*return*/, result.then(function (response) {
|
|
422
|
+
var _a, _b;
|
|
405
423
|
_this.eventHandler.emitEvent(EventType.SSO_SILENT_SUCCESS, InteractionType.Silent, response);
|
|
406
|
-
ssoSilentMeasurement.addStaticFields({
|
|
424
|
+
(_a = _this.ssoSilentMeasurement) === null || _a === void 0 ? void 0 : _a.addStaticFields({
|
|
407
425
|
accessTokenSize: response.accessToken.length,
|
|
408
426
|
idTokenSize: response.idToken.length
|
|
409
427
|
});
|
|
410
|
-
ssoSilentMeasurement.endMeasurement({
|
|
428
|
+
(_b = _this.ssoSilentMeasurement) === null || _b === void 0 ? void 0 : _b.endMeasurement({
|
|
411
429
|
success: true,
|
|
412
430
|
isNativeBroker: response.fromNativeBroker,
|
|
413
431
|
requestId: response.requestId
|
|
414
432
|
});
|
|
415
|
-
ssoSilentMeasurement.flushMeasurement();
|
|
416
433
|
return response;
|
|
417
434
|
}).catch(function (e) {
|
|
435
|
+
var _a;
|
|
418
436
|
_this.eventHandler.emitEvent(EventType.SSO_SILENT_FAILURE, InteractionType.Silent, null, e);
|
|
419
|
-
ssoSilentMeasurement.endMeasurement({
|
|
437
|
+
(_a = _this.ssoSilentMeasurement) === null || _a === void 0 ? void 0 : _a.endMeasurement({
|
|
420
438
|
errorCode: e.errorCode,
|
|
421
439
|
subErrorCode: e.subError,
|
|
422
440
|
success: false
|
|
423
441
|
});
|
|
424
|
-
ssoSilentMeasurement.flushMeasurement();
|
|
425
442
|
throw e;
|
|
443
|
+
}).finally(function () {
|
|
444
|
+
document.removeEventListener("visibilitychange", _this.trackPageVisibilityWithMeasurement);
|
|
426
445
|
})];
|
|
427
446
|
});
|
|
428
447
|
});
|
|
@@ -448,7 +467,11 @@ var ClientApplication = /** @class */ (function () {
|
|
|
448
467
|
this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_BY_CODE_START, InteractionType.Silent, request);
|
|
449
468
|
atbcMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenByCode, request.correlationId);
|
|
450
469
|
try {
|
|
451
|
-
if (request.code) {
|
|
470
|
+
if (request.code && request.nativeAccountId) {
|
|
471
|
+
// Throw error in case server returns both spa_code and spa_accountid in exchange for auth code.
|
|
472
|
+
throw BrowserAuthError.createSpaCodeAndNativeAccountIdPresentError();
|
|
473
|
+
}
|
|
474
|
+
else if (request.code) {
|
|
452
475
|
hybridAuthCode_1 = request.code;
|
|
453
476
|
response = this.hybridAuthCodeResponses.get(hybridAuthCode_1);
|
|
454
477
|
if (!response) {
|
|
@@ -466,7 +489,6 @@ var ClientApplication = /** @class */ (function () {
|
|
|
466
489
|
isNativeBroker: result.fromNativeBroker,
|
|
467
490
|
requestId: result.requestId
|
|
468
491
|
});
|
|
469
|
-
atbcMeasurement.flushMeasurement();
|
|
470
492
|
return result;
|
|
471
493
|
})
|
|
472
494
|
.catch(function (error) {
|
|
@@ -477,16 +499,12 @@ var ClientApplication = /** @class */ (function () {
|
|
|
477
499
|
subErrorCode: error.subError,
|
|
478
500
|
success: false
|
|
479
501
|
});
|
|
480
|
-
atbcMeasurement.flushMeasurement();
|
|
481
502
|
throw error;
|
|
482
503
|
});
|
|
483
504
|
this.hybridAuthCodeResponses.set(hybridAuthCode_1, response);
|
|
484
505
|
}
|
|
485
506
|
else {
|
|
486
507
|
this.logger.verbose("Existing acquireTokenByCode request found", request.correlationId);
|
|
487
|
-
atbcMeasurement.endMeasurement({
|
|
488
|
-
success: true
|
|
489
|
-
});
|
|
490
508
|
atbcMeasurement.discardMeasurement();
|
|
491
509
|
}
|
|
492
510
|
return [2 /*return*/, response];
|
|
@@ -528,16 +546,42 @@ var ClientApplication = /** @class */ (function () {
|
|
|
528
546
|
* @returns Result of the operation to redeem the authorization code
|
|
529
547
|
*/
|
|
530
548
|
ClientApplication.prototype.acquireTokenByCodeAsync = function (request) {
|
|
549
|
+
var _a;
|
|
531
550
|
return __awaiter(this, void 0, void 0, function () {
|
|
532
551
|
var silentAuthCodeClient, silentTokenResult;
|
|
533
|
-
|
|
534
|
-
|
|
552
|
+
var _this = this;
|
|
553
|
+
return __generator(this, function (_b) {
|
|
554
|
+
switch (_b.label) {
|
|
535
555
|
case 0:
|
|
536
556
|
this.logger.trace("acquireTokenByCodeAsync called", request.correlationId);
|
|
557
|
+
this.acquireTokenByCodeAsyncMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenByCodeAsync, request.correlationId);
|
|
558
|
+
(_a = this.acquireTokenByCodeAsyncMeasurement) === null || _a === void 0 ? void 0 : _a.increment({
|
|
559
|
+
visibilityChangeCount: 0
|
|
560
|
+
});
|
|
561
|
+
document.addEventListener("visibilitychange", this.trackPageVisibilityWithMeasurement);
|
|
537
562
|
silentAuthCodeClient = this.createSilentAuthCodeClient(request.correlationId);
|
|
538
|
-
return [4 /*yield*/, silentAuthCodeClient.acquireToken(request)
|
|
563
|
+
return [4 /*yield*/, silentAuthCodeClient.acquireToken(request).then(function (response) {
|
|
564
|
+
var _a;
|
|
565
|
+
(_a = _this.acquireTokenByCodeAsyncMeasurement) === null || _a === void 0 ? void 0 : _a.endMeasurement({
|
|
566
|
+
success: true,
|
|
567
|
+
fromCache: response.fromCache,
|
|
568
|
+
isNativeBroker: response.fromNativeBroker,
|
|
569
|
+
requestId: response.requestId
|
|
570
|
+
});
|
|
571
|
+
return response;
|
|
572
|
+
}).catch(function (tokenRenewalError) {
|
|
573
|
+
var _a;
|
|
574
|
+
(_a = _this.acquireTokenByCodeAsyncMeasurement) === null || _a === void 0 ? void 0 : _a.endMeasurement({
|
|
575
|
+
errorCode: tokenRenewalError.errorCode,
|
|
576
|
+
subErrorCode: tokenRenewalError.subError,
|
|
577
|
+
success: false
|
|
578
|
+
});
|
|
579
|
+
throw tokenRenewalError;
|
|
580
|
+
}).finally(function () {
|
|
581
|
+
document.removeEventListener("visibilitychange", _this.trackPageVisibilityWithMeasurement);
|
|
582
|
+
})];
|
|
539
583
|
case 1:
|
|
540
|
-
silentTokenResult =
|
|
584
|
+
silentTokenResult = _b.sent();
|
|
541
585
|
return [2 /*return*/, silentTokenResult];
|
|
542
586
|
}
|
|
543
587
|
});
|
|
@@ -553,6 +597,7 @@ var ClientApplication = /** @class */ (function () {
|
|
|
553
597
|
ClientApplication.prototype.acquireTokenFromCache = function (silentCacheClient, commonRequest, silentRequest) {
|
|
554
598
|
return __awaiter(this, void 0, void 0, function () {
|
|
555
599
|
return __generator(this, function (_a) {
|
|
600
|
+
this.performanceClient.addQueueMeasurement(PerformanceEvents.AcquireTokenFromCache, commonRequest.correlationId);
|
|
556
601
|
switch (silentRequest.cacheLookupPolicy) {
|
|
557
602
|
case CacheLookupPolicy.Default:
|
|
558
603
|
case CacheLookupPolicy.AccessToken:
|
|
@@ -575,12 +620,14 @@ var ClientApplication = /** @class */ (function () {
|
|
|
575
620
|
return __awaiter(this, void 0, void 0, function () {
|
|
576
621
|
var silentRefreshClient;
|
|
577
622
|
return __generator(this, function (_a) {
|
|
623
|
+
this.performanceClient.addQueueMeasurement(PerformanceEvents.AcquireTokenByRefreshToken, commonRequest.correlationId);
|
|
578
624
|
switch (silentRequest.cacheLookupPolicy) {
|
|
579
625
|
case CacheLookupPolicy.Default:
|
|
580
626
|
case CacheLookupPolicy.AccessTokenAndRefreshToken:
|
|
581
627
|
case CacheLookupPolicy.RefreshToken:
|
|
582
628
|
case CacheLookupPolicy.RefreshTokenAndNetwork:
|
|
583
629
|
silentRefreshClient = this.createSilentRefreshClient(commonRequest.correlationId);
|
|
630
|
+
this.performanceClient.setPreQueueTime(PerformanceEvents.SilentRefreshClientAcquireToken, commonRequest.correlationId);
|
|
584
631
|
return [2 /*return*/, silentRefreshClient.acquireToken(commonRequest)];
|
|
585
632
|
default:
|
|
586
633
|
throw ClientAuthError.createRefreshRequiredError();
|
|
@@ -598,7 +645,9 @@ var ClientApplication = /** @class */ (function () {
|
|
|
598
645
|
return __awaiter(this, void 0, void 0, function () {
|
|
599
646
|
var silentIframeClient;
|
|
600
647
|
return __generator(this, function (_a) {
|
|
648
|
+
this.performanceClient.addQueueMeasurement(PerformanceEvents.AcquireTokenBySilentIframe, request.correlationId);
|
|
601
649
|
silentIframeClient = this.createSilentIframeClient(request.correlationId);
|
|
650
|
+
this.performanceClient.setPreQueueTime(PerformanceEvents.SilentIframeClientAcquireToken, request.correlationId);
|
|
602
651
|
return [2 /*return*/, silentIframeClient.acquireToken(request)];
|
|
603
652
|
});
|
|
604
653
|
});
|