@azure/msal-common 15.0.2 → 15.1.1
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.mjs +1 -1
- package/dist/account/AuthToken.mjs +1 -1
- package/dist/account/CcsCredential.mjs +1 -1
- package/dist/account/ClientInfo.mjs +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.mjs +1 -1
- package/dist/cache/persistence/TokenCacheContext.mjs +1 -1
- package/dist/cache/utils/CacheHelpers.mjs +1 -1
- package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
- package/dist/client/AuthorizationCodeClient.mjs +9 -1
- package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
- package/dist/client/BaseClient.mjs +1 -1
- package/dist/client/RefreshTokenClient.d.ts.map +1 -1
- package/dist/client/RefreshTokenClient.mjs +10 -7
- package/dist/client/RefreshTokenClient.mjs.map +1 -1
- package/dist/client/SilentFlowClient.d.ts +0 -6
- package/dist/client/SilentFlowClient.d.ts.map +1 -1
- package/dist/client/SilentFlowClient.mjs +3 -42
- package/dist/client/SilentFlowClient.mjs.map +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/ThrottlingUtils.mjs +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.mjs +2 -2
- package/dist/request/AuthenticationHeaderParser.mjs +1 -1
- package/dist/request/RequestParameterBuilder.mjs +1 -1
- package/dist/request/RequestValidator.mjs +1 -1
- package/dist/request/ScopeSet.mjs +1 -1
- package/dist/response/ResponseHandler.mjs +1 -1
- package/dist/telemetry/performance/PerformanceClient.mjs +1 -1
- package/dist/telemetry/performance/PerformanceEvent.d.ts +10 -0
- package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
- package/dist/telemetry/performance/PerformanceEvent.mjs +3 -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.mjs +1 -1
- package/lib/index-browser.cjs +2 -2
- package/lib/{index-node-CjZsGR-A.js → index-node-BFQ-PSLs.js} +22 -47
- package/lib/index-node-BFQ-PSLs.js.map +1 -0
- package/lib/index-node.cjs +2 -2
- package/lib/index.cjs +2 -2
- package/lib/types/client/AuthorizationCodeClient.d.ts.map +1 -1
- package/lib/types/client/RefreshTokenClient.d.ts.map +1 -1
- package/lib/types/client/SilentFlowClient.d.ts +0 -6
- package/lib/types/client/SilentFlowClient.d.ts.map +1 -1
- package/lib/types/packageMetadata.d.ts +1 -1
- package/lib/types/telemetry/performance/PerformanceEvent.d.ts +10 -0
- package/lib/types/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client/AuthorizationCodeClient.ts +33 -0
- package/src/client/RefreshTokenClient.ts +18 -9
- package/src/client/SilentFlowClient.ts +1 -56
- package/src/packageMetadata.ts +1 -1
- package/src/telemetry/performance/PerformanceEvent.ts +15 -0
- package/lib/index-node-CjZsGR-A.js.map +0 -1
|
@@ -231,6 +231,7 @@ export declare const PerformanceEvents: {
|
|
|
231
231
|
readonly CacheManagerGetRefreshToken: "cacheManagerGetRefreshToken";
|
|
232
232
|
readonly ImportExistingCache: "importExistingCache";
|
|
233
233
|
readonly SetUserData: "setUserData";
|
|
234
|
+
readonly LocalStorageUpdated: "localStorageUpdated";
|
|
234
235
|
/**
|
|
235
236
|
* Crypto Operations
|
|
236
237
|
*/
|
|
@@ -515,6 +516,15 @@ export type PerformanceEvent = {
|
|
|
515
516
|
retryError?: string;
|
|
516
517
|
embeddedClientId?: string;
|
|
517
518
|
embeddedRedirectUri?: string;
|
|
519
|
+
isAsyncPopup?: boolean;
|
|
520
|
+
rtExpiresOnMs?: number;
|
|
521
|
+
sidFromClaims?: boolean;
|
|
522
|
+
sidFromRequest?: boolean;
|
|
523
|
+
loginHintFromRequest?: boolean;
|
|
524
|
+
loginHintFromUpn?: boolean;
|
|
525
|
+
loginHintFromClaim?: boolean;
|
|
526
|
+
domainHintFromRequest?: boolean;
|
|
527
|
+
prompt?: string;
|
|
518
528
|
};
|
|
519
529
|
export type PerformanceEventContext = {
|
|
520
530
|
dur?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformanceEvent.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/performance/PerformanceEvent.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;IAC1B;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;;IAIH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAIH;;;OAGG;;IAGH;;;OAGG;;IAEH;;OAEG;;IAEH;;OAEG;;;;IAMH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAGH;;OAEG;;IAIH;;OAEG;;IAGH;;OAEG;;IAIH;;OAEG;;IAIH;;OAEG;;IAIH;;;OAGG;;;;IAMH;;;OAGG;;IAGH;;OAEG;;IAGH;;OAEG;;;;IAOH;;OAEG;;IAGH;;OAEG;;;;;IAMH;;OAEG;;;;;IAUH;;OAEG;;IAGH;;OAEG;;;;IAKH;;OAEG;;;;;IAMH;;OAEG;;;IAIH;;OAEG;;;IAIH;;OAEG;;;;;;;;;IAgBH;;OAEG;;;;;;;;;;;;;;IAyBH;;OAEG
|
|
1
|
+
{"version":3,"file":"PerformanceEvent.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/performance/PerformanceEvent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -571,8 +571,17 @@ export class AuthorizationCodeClient extends BaseClient {
|
|
|
571
571
|
|
|
572
572
|
if (request.domainHint) {
|
|
573
573
|
parameterBuilder.addDomainHint(request.domainHint);
|
|
574
|
+
this.performanceClient?.addFields(
|
|
575
|
+
{ domainHintFromRequest: true },
|
|
576
|
+
correlationId
|
|
577
|
+
);
|
|
574
578
|
}
|
|
575
579
|
|
|
580
|
+
this.performanceClient?.addFields(
|
|
581
|
+
{ prompt: request.prompt },
|
|
582
|
+
correlationId
|
|
583
|
+
);
|
|
584
|
+
|
|
576
585
|
// Add sid or loginHint with preference for login_hint claim (in request) -> sid -> loginHint (upn/email) -> username of AccountInfo object
|
|
577
586
|
if (request.prompt !== PromptValue.SELECT_ACCOUNT) {
|
|
578
587
|
// AAD will throw if prompt=select_account is passed with an account hint
|
|
@@ -582,6 +591,10 @@ export class AuthorizationCodeClient extends BaseClient {
|
|
|
582
591
|
"createAuthCodeUrlQueryString: Prompt is none, adding sid from request"
|
|
583
592
|
);
|
|
584
593
|
parameterBuilder.addSid(request.sid);
|
|
594
|
+
this.performanceClient?.addFields(
|
|
595
|
+
{ sidFromRequest: true },
|
|
596
|
+
correlationId
|
|
597
|
+
);
|
|
585
598
|
} else if (request.account) {
|
|
586
599
|
const accountSid = this.extractAccountSid(request.account);
|
|
587
600
|
let accountLoginHintClaim = this.extractLoginHint(
|
|
@@ -601,6 +614,10 @@ export class AuthorizationCodeClient extends BaseClient {
|
|
|
601
614
|
"createAuthCodeUrlQueryString: login_hint claim present on account"
|
|
602
615
|
);
|
|
603
616
|
parameterBuilder.addLoginHint(accountLoginHintClaim);
|
|
617
|
+
this.performanceClient?.addFields(
|
|
618
|
+
{ loginHintFromClaim: true },
|
|
619
|
+
correlationId
|
|
620
|
+
);
|
|
604
621
|
try {
|
|
605
622
|
const clientInfo = buildClientInfoFromHomeAccountId(
|
|
606
623
|
request.account.homeAccountId
|
|
@@ -620,6 +637,10 @@ export class AuthorizationCodeClient extends BaseClient {
|
|
|
620
637
|
"createAuthCodeUrlQueryString: Prompt is none, adding sid from account"
|
|
621
638
|
);
|
|
622
639
|
parameterBuilder.addSid(accountSid);
|
|
640
|
+
this.performanceClient?.addFields(
|
|
641
|
+
{ sidFromClaim: true },
|
|
642
|
+
correlationId
|
|
643
|
+
);
|
|
623
644
|
try {
|
|
624
645
|
const clientInfo = buildClientInfoFromHomeAccountId(
|
|
625
646
|
request.account.homeAccountId
|
|
@@ -636,12 +657,20 @@ export class AuthorizationCodeClient extends BaseClient {
|
|
|
636
657
|
);
|
|
637
658
|
parameterBuilder.addLoginHint(request.loginHint);
|
|
638
659
|
parameterBuilder.addCcsUpn(request.loginHint);
|
|
660
|
+
this.performanceClient?.addFields(
|
|
661
|
+
{ loginHintFromRequest: true },
|
|
662
|
+
correlationId
|
|
663
|
+
);
|
|
639
664
|
} else if (request.account.username) {
|
|
640
665
|
// Fallback to account username if provided
|
|
641
666
|
this.logger.verbose(
|
|
642
667
|
"createAuthCodeUrlQueryString: Adding login_hint from account"
|
|
643
668
|
);
|
|
644
669
|
parameterBuilder.addLoginHint(request.account.username);
|
|
670
|
+
this.performanceClient?.addFields(
|
|
671
|
+
{ loginHintFromUpn: true },
|
|
672
|
+
correlationId
|
|
673
|
+
);
|
|
645
674
|
try {
|
|
646
675
|
const clientInfo = buildClientInfoFromHomeAccountId(
|
|
647
676
|
request.account.homeAccountId
|
|
@@ -659,6 +688,10 @@ export class AuthorizationCodeClient extends BaseClient {
|
|
|
659
688
|
);
|
|
660
689
|
parameterBuilder.addLoginHint(request.loginHint);
|
|
661
690
|
parameterBuilder.addCcsUpn(request.loginHint);
|
|
691
|
+
this.performanceClient?.addFields(
|
|
692
|
+
{ loginHintFromRequest: true },
|
|
693
|
+
correlationId
|
|
694
|
+
);
|
|
662
695
|
}
|
|
663
696
|
} else {
|
|
664
697
|
this.logger.verbose(
|
|
@@ -230,6 +230,10 @@ export class RefreshTokenClient extends BaseClient {
|
|
|
230
230
|
DEFAULT_REFRESH_TOKEN_EXPIRATION_OFFSET_SECONDS
|
|
231
231
|
)
|
|
232
232
|
) {
|
|
233
|
+
this.performanceClient?.addFields(
|
|
234
|
+
{ rtExpiresOnMs: Number(refreshToken.expiresOn) },
|
|
235
|
+
request.correlationId
|
|
236
|
+
);
|
|
233
237
|
throw createInteractionRequiredAuthError(
|
|
234
238
|
InteractionRequiredAuthErrorCodes.refreshTokenExpired
|
|
235
239
|
);
|
|
@@ -256,16 +260,21 @@ export class RefreshTokenClient extends BaseClient {
|
|
|
256
260
|
request.correlationId
|
|
257
261
|
)(refreshTokenRequest);
|
|
258
262
|
} catch (e) {
|
|
259
|
-
if (
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
// Remove bad refresh token from cache
|
|
264
|
-
this.logger.verbose(
|
|
265
|
-
"acquireTokenWithRefreshToken: bad refresh token, removing from cache"
|
|
263
|
+
if (e instanceof InteractionRequiredAuthError) {
|
|
264
|
+
this.performanceClient?.addFields(
|
|
265
|
+
{ rtExpiresOnMs: Number(refreshToken.expiresOn) },
|
|
266
|
+
request.correlationId
|
|
266
267
|
);
|
|
267
|
-
|
|
268
|
-
|
|
268
|
+
|
|
269
|
+
if (e.subError === InteractionRequiredAuthErrorCodes.badToken) {
|
|
270
|
+
// Remove bad refresh token from cache
|
|
271
|
+
this.logger.verbose(
|
|
272
|
+
"acquireTokenWithRefreshToken: bad refresh token, removing from cache"
|
|
273
|
+
);
|
|
274
|
+
const badRefreshTokenKey =
|
|
275
|
+
generateCredentialKey(refreshToken);
|
|
276
|
+
this.cacheManager.removeRefreshToken(badRefreshTokenKey);
|
|
277
|
+
}
|
|
269
278
|
}
|
|
270
279
|
|
|
271
280
|
throw e;
|
|
@@ -8,15 +8,13 @@ import { ClientConfiguration } from "../config/ClientConfiguration.js";
|
|
|
8
8
|
import { CommonSilentFlowRequest } from "../request/CommonSilentFlowRequest.js";
|
|
9
9
|
import { AuthenticationResult } from "../response/AuthenticationResult.js";
|
|
10
10
|
import * as TimeUtils from "../utils/TimeUtils.js";
|
|
11
|
-
import { RefreshTokenClient } from "./RefreshTokenClient.js";
|
|
12
11
|
import {
|
|
13
|
-
ClientAuthError,
|
|
14
12
|
ClientAuthErrorCodes,
|
|
15
13
|
createClientAuthError,
|
|
16
14
|
} from "../error/ClientAuthError.js";
|
|
17
15
|
import { ResponseHandler } from "../response/ResponseHandler.js";
|
|
18
16
|
import { CacheRecord } from "../cache/entities/CacheRecord.js";
|
|
19
|
-
import { CacheOutcome
|
|
17
|
+
import { CacheOutcome } from "../utils/Constants.js";
|
|
20
18
|
import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient.js";
|
|
21
19
|
import { StringUtils } from "../utils/StringUtils.js";
|
|
22
20
|
import { checkMaxAge, extractTokenClaims } from "../account/AuthToken.js";
|
|
@@ -34,59 +32,6 @@ export class SilentFlowClient extends BaseClient {
|
|
|
34
32
|
super(configuration, performanceClient);
|
|
35
33
|
}
|
|
36
34
|
|
|
37
|
-
/**
|
|
38
|
-
* Retrieves a token from cache if it is still valid, or uses the cached refresh token to renew
|
|
39
|
-
* the given token and returns the renewed token
|
|
40
|
-
* @param request
|
|
41
|
-
*/
|
|
42
|
-
async acquireToken(
|
|
43
|
-
request: CommonSilentFlowRequest
|
|
44
|
-
): Promise<AuthenticationResult> {
|
|
45
|
-
try {
|
|
46
|
-
const [authResponse, cacheOutcome] = await this.acquireCachedToken({
|
|
47
|
-
...request,
|
|
48
|
-
scopes: request.scopes?.length
|
|
49
|
-
? request.scopes
|
|
50
|
-
: [...OIDC_DEFAULT_SCOPES],
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
// if the token is not expired but must be refreshed; get a new one in the background
|
|
54
|
-
if (cacheOutcome === CacheOutcome.PROACTIVELY_REFRESHED) {
|
|
55
|
-
this.logger.info(
|
|
56
|
-
"SilentFlowClient:acquireCachedToken - Cached access token's refreshOn property has been exceeded'. It's not expired, but must be refreshed."
|
|
57
|
-
);
|
|
58
|
-
|
|
59
|
-
// refresh the access token in the background
|
|
60
|
-
const refreshTokenClient = new RefreshTokenClient(
|
|
61
|
-
this.config,
|
|
62
|
-
this.performanceClient
|
|
63
|
-
);
|
|
64
|
-
|
|
65
|
-
refreshTokenClient
|
|
66
|
-
.acquireTokenByRefreshToken(request)
|
|
67
|
-
.catch(() => {
|
|
68
|
-
// do nothing, this is running in the background and no action is to be taken upon success or failure
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// return the cached token
|
|
73
|
-
return authResponse;
|
|
74
|
-
} catch (e) {
|
|
75
|
-
if (
|
|
76
|
-
e instanceof ClientAuthError &&
|
|
77
|
-
e.errorCode === ClientAuthErrorCodes.tokenRefreshRequired
|
|
78
|
-
) {
|
|
79
|
-
const refreshTokenClient = new RefreshTokenClient(
|
|
80
|
-
this.config,
|
|
81
|
-
this.performanceClient
|
|
82
|
-
);
|
|
83
|
-
return refreshTokenClient.acquireTokenByRefreshToken(request);
|
|
84
|
-
} else {
|
|
85
|
-
throw e;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
|
|
90
35
|
/**
|
|
91
36
|
* Retrieves token from cache or throws an error if it must be refreshed.
|
|
92
37
|
* @param request
|
package/src/packageMetadata.ts
CHANGED
|
@@ -301,6 +301,7 @@ export const PerformanceEvents = {
|
|
|
301
301
|
CacheManagerGetRefreshToken: "cacheManagerGetRefreshToken",
|
|
302
302
|
ImportExistingCache: "importExistingCache",
|
|
303
303
|
SetUserData: "setUserData",
|
|
304
|
+
LocalStorageUpdated: "localStorageUpdated",
|
|
304
305
|
|
|
305
306
|
/**
|
|
306
307
|
* Crypto Operations
|
|
@@ -407,6 +408,7 @@ export const PerformanceEventAbbreviations: ReadonlyMap<string, string> =
|
|
|
407
408
|
[PerformanceEvents.InitializeCache, "InitCache"],
|
|
408
409
|
[PerformanceEvents.ImportExistingCache, "importCache"],
|
|
409
410
|
[PerformanceEvents.SetUserData, "setUserData"],
|
|
411
|
+
[PerformanceEvents.LocalStorageUpdated, "localStorageUpdated"],
|
|
410
412
|
[PerformanceEvents.SilentIframeClientTokenHelper, "SIClientTHelper"],
|
|
411
413
|
[
|
|
412
414
|
PerformanceEvents.SilentHandlerInitiateAuthRequest,
|
|
@@ -868,6 +870,19 @@ export type PerformanceEvent = {
|
|
|
868
870
|
|
|
869
871
|
embeddedClientId?: string;
|
|
870
872
|
embeddedRedirectUri?: string;
|
|
873
|
+
|
|
874
|
+
isAsyncPopup?: boolean;
|
|
875
|
+
|
|
876
|
+
rtExpiresOnMs?: number;
|
|
877
|
+
|
|
878
|
+
sidFromClaims?: boolean;
|
|
879
|
+
sidFromRequest?: boolean;
|
|
880
|
+
loginHintFromRequest?: boolean;
|
|
881
|
+
loginHintFromUpn?: boolean;
|
|
882
|
+
loginHintFromClaim?: boolean;
|
|
883
|
+
domainHintFromRequest?: boolean;
|
|
884
|
+
|
|
885
|
+
prompt?: string;
|
|
871
886
|
};
|
|
872
887
|
|
|
873
888
|
export type PerformanceEventContext = {
|