@azure/msal-react 3.0.22 → 5.0.0-alpha.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.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-react v3.0.22 2025-11-19 */
1
+ /*! @azure/msal-react v5.0.0-alpha.1 2025-12-04 */
2
2
  'use strict';
3
3
  'use strict';
4
4
 
@@ -104,7 +104,7 @@ function getAccountByIdentifiers(allAccounts, accountIdentifiers) {
104
104
 
105
105
  /* eslint-disable header/header */
106
106
  const name = "@azure/msal-react";
107
- const version = "3.0.22";
107
+ const version = "5.0.0-alpha.1";
108
108
 
109
109
  /*
110
110
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -126,14 +126,14 @@ const reducer = (previousState, action) => {
126
126
  case MsalProviderActionType.UNBLOCK_INPROGRESS:
127
127
  if (previousState.inProgress === msalBrowser.InteractionStatus.Startup) {
128
128
  newInProgress = msalBrowser.InteractionStatus.None;
129
- payload.logger.info("MsalProvider - handleRedirectPromise resolved, setting inProgress to 'none'");
129
+ payload.logger.info("MsalProvider - handleRedirectPromise resolved, setting inProgress to 'none'", "");
130
130
  }
131
131
  break;
132
132
  case MsalProviderActionType.EVENT:
133
133
  const message = payload.message;
134
134
  const status = msalBrowser.EventMessageUtils.getInteractionStatusFromEvent(message, previousState.inProgress);
135
135
  if (status) {
136
- payload.logger.info(`MsalProvider - ${message.eventType} results in setting inProgress from ${previousState.inProgress} to ${status}`);
136
+ payload.logger.info(`MsalProvider - '${message.eventType}' results in setting inProgress from '${previousState.inProgress}' to '${status}'`, "");
137
137
  newInProgress = status;
138
138
  }
139
139
  break;
@@ -202,7 +202,7 @@ function MsalProvider({ instance, children, }) {
202
202
  type: MsalProviderActionType.EVENT,
203
203
  });
204
204
  });
205
- logger.verbose(`MsalProvider - Registered event callback with id: ${callbackId}`);
205
+ logger.verbose(`MsalProvider - Registered event callback with id: '${callbackId}'`, "");
206
206
  instance
207
207
  .initialize()
208
208
  .then(() => {
@@ -233,7 +233,7 @@ function MsalProvider({ instance, children, }) {
233
233
  return () => {
234
234
  // Remove callback when component unmounts or accounts change
235
235
  if (callbackId) {
236
- logger.verbose(`MsalProvider - Removing event callback ${callbackId}`);
236
+ logger.verbose(`MsalProvider - Removing event callback '${callbackId}'`, "");
237
237
  instance.removeEventCallback(callbackId);
238
238
  }
239
239
  };
@@ -348,6 +348,28 @@ function getAccount(instance, accountIdentifiers) {
348
348
  }
349
349
  return getAccountByIdentifiers(instance.getAllAccounts(), accountIdentifiers);
350
350
  }
351
+ /**
352
+ * Helper function to determine whether 2 accountInfo objects represent the same account
353
+ * @param accountA
354
+ * @param accountB
355
+ */
356
+ function accountInfoIsEqual(accountA, accountB) {
357
+ if (!accountA || !accountB) {
358
+ return false;
359
+ }
360
+ const accountAClaims = (accountA.idTokenClaims || {});
361
+ const accountBClaims = (accountB.idTokenClaims || {});
362
+ // issued at timestamp and nonce are expected to change each time a new id token is acquired
363
+ const claimsMatch = accountAClaims.iat === accountBClaims.iat &&
364
+ accountAClaims.nonce === accountBClaims.nonce;
365
+ return (accountA.homeAccountId === accountB.homeAccountId &&
366
+ accountA.localAccountId === accountB.localAccountId &&
367
+ accountA.username === accountB.username &&
368
+ accountA.tenantId === accountB.tenantId &&
369
+ accountA.environment === accountB.environment &&
370
+ accountA.nativeAccountId === accountB.nativeAccountId &&
371
+ claimsMatch);
372
+ }
351
373
  /**
352
374
  * Given 1 or more accountIdentifiers, returns the Account object if the user is signed-in
353
375
  * @param accountIdentifiers
@@ -362,18 +384,33 @@ function useAccount(accountIdentifiers) {
362
384
  return getAccount(instance, accountIdentifiers);
363
385
  }
364
386
  });
387
+ const updateAccount = React.useCallback(() => {
388
+ const nextAccount = getAccount(instance, accountIdentifiers);
389
+ setAccount((currentAccount) => {
390
+ if (!accountInfoIsEqual(currentAccount, nextAccount)) {
391
+ logger.info("useAccount - Updating account", "");
392
+ return nextAccount;
393
+ }
394
+ return currentAccount;
395
+ });
396
+ }, [accountIdentifiers, instance, logger]);
365
397
  React.useEffect(() => {
366
398
  if (inProgress !== msalBrowser.InteractionStatus.Startup) {
367
- setAccount((currentAccount) => {
368
- const nextAccount = getAccount(instance, accountIdentifiers);
369
- if (!msalBrowser.AccountEntity.accountInfoIsEqual(currentAccount, nextAccount, true)) {
370
- logger.info("useAccount - Updating account");
371
- return nextAccount;
372
- }
373
- return currentAccount;
374
- });
399
+ updateAccount();
375
400
  }
376
- }, [inProgress, accountIdentifiers, instance, logger]);
401
+ const callbackId = instance.addEventCallback((message) => {
402
+ if (message.eventType === msalBrowser.EventType.ACTIVE_ACCOUNT_CHANGED ||
403
+ (message.eventType === msalBrowser.EventType.LOGIN_SUCCESS &&
404
+ message.interactionType === msalBrowser.InteractionType.Silent)) {
405
+ updateAccount();
406
+ }
407
+ });
408
+ return () => {
409
+ if (callbackId) {
410
+ instance.removeEventCallback(callbackId);
411
+ }
412
+ };
413
+ }, [updateAccount, inProgress, instance]);
377
414
  return account;
378
415
  }
379
416
 
@@ -452,75 +489,96 @@ function useMsalAuthentication(interactionType, authenticationRequest, accountId
452
489
  const login = React.useCallback(async (callbackInteractionType, callbackRequest) => {
453
490
  const loginType = callbackInteractionType || interactionType;
454
491
  const loginRequest = callbackRequest || authenticationRequest;
455
- switch (loginType) {
456
- case msalBrowser.InteractionType.Popup:
457
- logger.verbose("useMsalAuthentication - Calling loginPopup");
458
- return instance.loginPopup(loginRequest);
459
- case msalBrowser.InteractionType.Redirect:
460
- // This promise is not expected to resolve due to full frame redirect
461
- logger.verbose("useMsalAuthentication - Calling loginRedirect");
462
- return instance
463
- .loginRedirect(loginRequest)
464
- .then(null);
465
- case msalBrowser.InteractionType.Silent:
466
- logger.verbose("useMsalAuthentication - Calling ssoSilent");
467
- return instance.ssoSilent(loginRequest);
468
- default:
469
- throw ReactAuthError.createInvalidInteractionTypeError();
470
- }
492
+ const getToken = async () => {
493
+ logger.verbose("useMsalAuthentication - Calling getToken", callbackRequest?.correlationId || "");
494
+ switch (loginType) {
495
+ case msalBrowser.InteractionType.Popup:
496
+ logger.verbose("useMsalAuthentication - Calling loginPopup", callbackRequest?.correlationId || "");
497
+ return instance.loginPopup(loginRequest);
498
+ case msalBrowser.InteractionType.Redirect:
499
+ // This promise is not expected to resolve due to full frame redirect
500
+ logger.verbose("useMsalAuthentication - Calling loginRedirect", callbackRequest?.correlationId || "");
501
+ await instance.handleRedirectPromise();
502
+ return instance
503
+ .loginRedirect(loginRequest)
504
+ .then(() => null);
505
+ case msalBrowser.InteractionType.Silent:
506
+ logger.verbose("useMsalAuthentication - Calling ssoSilent", callbackRequest?.correlationId || "");
507
+ return instance.ssoSilent(loginRequest);
508
+ default:
509
+ const invalidTypeError = ReactAuthError.createInvalidInteractionTypeError();
510
+ if (mounted.current) {
511
+ setResponse([null, invalidTypeError]);
512
+ }
513
+ throw invalidTypeError;
514
+ }
515
+ };
516
+ return getToken()
517
+ .then((response) => {
518
+ if (response && mounted.current) {
519
+ setResponse([response, null]);
520
+ }
521
+ return response;
522
+ })
523
+ .catch((e) => {
524
+ if (mounted.current) {
525
+ setResponse([null, e]);
526
+ }
527
+ throw e;
528
+ });
471
529
  }, [instance, interactionType, authenticationRequest, logger]);
472
530
  const acquireToken = React.useCallback(async (callbackInteractionType, callbackRequest) => {
473
531
  const fallbackInteractionType = callbackInteractionType || interactionType;
474
532
  let tokenRequest;
475
533
  if (callbackRequest) {
476
- logger.trace("useMsalAuthentication - acquireToken - Using request provided in the callback");
534
+ logger.trace("useMsalAuthentication - acquireToken - Using request provided in the callback", callbackRequest.correlationId || "");
477
535
  tokenRequest = {
478
536
  ...callbackRequest,
479
537
  };
480
538
  }
481
539
  else if (authenticationRequest) {
482
- logger.trace("useMsalAuthentication - acquireToken - Using request provided in the hook");
540
+ logger.trace("useMsalAuthentication - acquireToken - Using request provided in the hook", authenticationRequest.correlationId || "");
483
541
  tokenRequest = {
484
542
  ...authenticationRequest,
485
543
  scopes: authenticationRequest.scopes || msalBrowser.OIDC_DEFAULT_SCOPES,
486
544
  };
487
545
  }
488
546
  else {
489
- logger.trace("useMsalAuthentication - acquireToken - No request object provided, using default request.");
547
+ logger.trace("useMsalAuthentication - acquireToken - No request object provided, using default request.", "");
490
548
  tokenRequest = {
491
549
  scopes: msalBrowser.OIDC_DEFAULT_SCOPES,
492
550
  };
493
551
  }
552
+ const correlationId = tokenRequest.correlationId || msalBrowser.BrowserUtils.createGuid();
553
+ tokenRequest.correlationId = correlationId;
494
554
  if (!tokenRequest.account && account) {
495
- logger.trace("useMsalAuthentication - acquireToken - Attaching account to request");
555
+ logger.trace("useMsalAuthentication - acquireToken - Attaching account to request", correlationId);
496
556
  tokenRequest.account = account;
497
557
  }
498
- const getToken = async () => {
499
- logger.verbose("useMsalAuthentication - Calling acquireTokenSilent");
500
- return instance
501
- .acquireTokenSilent(tokenRequest)
502
- .catch(async (e) => {
503
- if (e instanceof msalBrowser.InteractionRequiredAuthError) {
504
- if (!interactionInProgress.current) {
505
- logger.error("useMsalAuthentication - Interaction required, falling back to interaction");
506
- return login(fallbackInteractionType, tokenRequest);
507
- }
508
- else {
509
- logger.error("useMsalAuthentication - Interaction required but is already in progress. Please try again, if needed, after interaction completes.");
510
- throw ReactAuthError.createUnableToFallbackToInteractionError();
511
- }
512
- }
513
- throw e;
514
- });
515
- };
516
- return getToken()
558
+ return instance
559
+ .acquireTokenSilent(tokenRequest)
517
560
  .then((response) => {
518
561
  if (mounted.current) {
519
562
  setResponse([response, null]);
520
563
  }
521
564
  return response;
522
565
  })
523
- .catch((e) => {
566
+ .catch(async (e) => {
567
+ if (e instanceof msalBrowser.InteractionRequiredAuthError) {
568
+ if (!interactionInProgress.current) {
569
+ logger.error("useMsalAuthentication - Interaction required, falling back to interaction", correlationId);
570
+ return login(fallbackInteractionType, tokenRequest);
571
+ }
572
+ else {
573
+ const fallbackError = ReactAuthError.createUnableToFallbackToInteractionError();
574
+ logger.error("useMsalAuthentication - Interaction required but is already in progress. Please try again, if needed, after interaction completes.", correlationId);
575
+ if (mounted.current) {
576
+ setResponse([null, fallbackError]);
577
+ }
578
+ throw fallbackError;
579
+ }
580
+ }
581
+ // Handle other errors
524
582
  if (mounted.current) {
525
583
  setResponse([null, e]);
526
584
  }
@@ -534,40 +592,12 @@ function useMsalAuthentication(interactionType, authenticationRequest, accountId
534
592
  account,
535
593
  login,
536
594
  ]);
537
- React.useEffect(() => {
538
- const callbackId = instance.addEventCallback((message) => {
539
- switch (message.eventType) {
540
- case msalBrowser.EventType.LOGIN_SUCCESS:
541
- case msalBrowser.EventType.SSO_SILENT_SUCCESS:
542
- if (message.payload) {
543
- setResponse([
544
- message.payload,
545
- null,
546
- ]);
547
- }
548
- break;
549
- case msalBrowser.EventType.LOGIN_FAILURE:
550
- case msalBrowser.EventType.SSO_SILENT_FAILURE:
551
- if (message.error) {
552
- setResponse([null, message.error]);
553
- }
554
- break;
555
- }
556
- });
557
- logger.verbose(`useMsalAuthentication - Registered event callback with id: ${callbackId}`);
558
- return () => {
559
- if (callbackId) {
560
- logger.verbose(`useMsalAuthentication - Removing event callback ${callbackId}`);
561
- instance.removeEventCallback(callbackId);
562
- }
563
- };
564
- }, [instance, logger]);
565
595
  React.useEffect(() => {
566
596
  if (shouldAcquireToken.current &&
567
597
  inProgress === msalBrowser.InteractionStatus.None) {
568
598
  if (!isAuthenticated) {
569
599
  shouldAcquireToken.current = false;
570
- logger.info("useMsalAuthentication - No user is authenticated, attempting to login");
600
+ logger.info("useMsalAuthentication - No user is authenticated, attempting to login", "");
571
601
  login().catch(() => {
572
602
  // Errors are saved in state above
573
603
  return;
@@ -575,12 +605,16 @@ function useMsalAuthentication(interactionType, authenticationRequest, accountId
575
605
  }
576
606
  else if (account) {
577
607
  shouldAcquireToken.current = false;
578
- logger.info("useMsalAuthentication - User is authenticated, attempting to acquire token");
608
+ logger.info("useMsalAuthentication - User is authenticated, attempting to acquire token", "");
579
609
  acquireToken().catch(() => {
580
610
  // Errors are saved in state above
581
611
  return;
582
612
  });
583
613
  }
614
+ // If logging out, set the state to null so the component doesn't display authenticated content for a user that is logged out
615
+ }
616
+ else if (!account && result) {
617
+ setResponse([null, null]);
584
618
  }
585
619
  }, [isAuthenticated, account, inProgress, login, acquireToken, logger]);
586
620
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"msal-react.cjs","sources":["../../src/MsalContext.ts","../../src/utils/utilities.ts","../../src/packageMetadata.ts","../../src/MsalProvider.tsx","../../src/hooks/useMsal.ts","../../src/hooks/useIsAuthenticated.ts","../../src/components/AuthenticatedTemplate.tsx","../../src/components/UnauthenticatedTemplate.tsx","../../src/hooks/useAccount.ts","../../src/error/ReactAuthError.ts","../../src/hooks/useMsalAuthentication.ts","../../src/components/MsalAuthenticationTemplate.tsx","../../src/components/withMsal.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["stubbedPublicClientApplication","InteractionStatus","Logger","React","EventMessageUtils","useEffect","WrapperSKU","useMemo","SKU","useReducer","useContext","useState","AccountEntity","AuthError","useRef","useCallback","InteractionType","OIDC_DEFAULT_SCOPES","InteractionRequiredAuthError","EventType"],"mappings":"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"}
1
+ {"version":3,"file":"msal-react.cjs","sources":["../../src/MsalContext.ts","../../src/utils/utilities.ts","../../src/packageMetadata.ts","../../src/MsalProvider.tsx","../../src/hooks/useMsal.ts","../../src/hooks/useIsAuthenticated.ts","../../src/components/AuthenticatedTemplate.tsx","../../src/components/UnauthenticatedTemplate.tsx","../../src/hooks/useAccount.ts","../../src/error/ReactAuthError.ts","../../src/hooks/useMsalAuthentication.ts","../../src/components/MsalAuthenticationTemplate.tsx","../../src/components/withMsal.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["stubbedPublicClientApplication","InteractionStatus","Logger","React","EventMessageUtils","useEffect","WrapperSKU","useMemo","SKU","useReducer","useContext","useState","useCallback","EventType","InteractionType","AuthError","useRef","OIDC_DEFAULT_SCOPES","BrowserUtils","InteractionRequiredAuthError"],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  import { AccountInfo } from "@azure/msal-browser";
2
2
  import { AccountIdentifiers } from "../types/AccountIdentifiers.js";
3
+ /**
4
+ * Helper function to determine whether 2 accountInfo objects represent the same account
5
+ * @param accountA
6
+ * @param accountB
7
+ */
8
+ export declare function accountInfoIsEqual(accountA: AccountInfo | null, accountB: AccountInfo | null): boolean;
3
9
  /**
4
10
  * Given 1 or more accountIdentifiers, returns the Account object if the user is signed-in
5
11
  * @param accountIdentifiers
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@azure/msal-react";
2
- export declare const version = "3.0.22";
2
+ export declare const version = "5.0.0-alpha.1";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure/msal-react",
3
- "version": "3.0.22",
3
+ "version": "5.0.0-alpha.1",
4
4
  "author": {
5
5
  "name": "Microsoft",
6
6
  "email": "nugetaad@microsoft.com",
@@ -35,12 +35,10 @@
35
35
  "src"
36
36
  ],
37
37
  "engines": {
38
- "node": ">=10"
38
+ "node": ">=20"
39
39
  },
40
40
  "beachball": {
41
- "disallowedChangeTypes": [
42
- "major"
43
- ]
41
+ "disallowedChangeTypes": []
44
42
  },
45
43
  "scripts": {
46
44
  "build": "rollup -c --strictDeprecations --bundleConfigAsCjs",
@@ -56,11 +54,11 @@
56
54
  "apiExtractor": "api-extractor run"
57
55
  },
58
56
  "peerDependencies": {
59
- "@azure/msal-browser": "^4.26.2",
60
- "react": "^16.8.0 || ^17 || ^18 || ^19"
57
+ "@azure/msal-browser": "^5.0.0-alpha.0",
58
+ "react": "^19"
61
59
  },
62
60
  "devDependencies": {
63
- "@azure/msal-browser": "^4.26.2",
61
+ "@azure/msal-browser": "^5.0.0-alpha.0",
64
62
  "@microsoft/api-extractor": "^7.43.4",
65
63
  "@rollup/plugin-typescript": "^11.1.5",
66
64
  "@testing-library/jest-dom": "^5.11.5",
@@ -64,7 +64,8 @@ const reducer = (
64
64
  if (previousState.inProgress === InteractionStatus.Startup) {
65
65
  newInProgress = InteractionStatus.None;
66
66
  payload.logger.info(
67
- "MsalProvider - handleRedirectPromise resolved, setting inProgress to 'none'"
67
+ "MsalProvider - handleRedirectPromise resolved, setting inProgress to 'none'",
68
+ ""
68
69
  );
69
70
  }
70
71
  break;
@@ -76,7 +77,8 @@ const reducer = (
76
77
  );
77
78
  if (status) {
78
79
  payload.logger.info(
79
- `MsalProvider - ${message.eventType} results in setting inProgress from ${previousState.inProgress} to ${status}`
80
+ `MsalProvider - '${message.eventType}' results in setting inProgress from '${previousState.inProgress}' to '${status}'`,
81
+ ""
80
82
  );
81
83
  newInProgress = status;
82
84
  }
@@ -158,7 +160,8 @@ export function MsalProvider({
158
160
  }
159
161
  );
160
162
  logger.verbose(
161
- `MsalProvider - Registered event callback with id: ${callbackId}`
163
+ `MsalProvider - Registered event callback with id: '${callbackId}'`,
164
+ ""
162
165
  );
163
166
 
164
167
  instance
@@ -193,7 +196,8 @@ export function MsalProvider({
193
196
  // Remove callback when component unmounts or accounts change
194
197
  if (callbackId) {
195
198
  logger.verbose(
196
- `MsalProvider - Removing event callback ${callbackId}`
199
+ `MsalProvider - Removing event callback '${callbackId}'`,
200
+ ""
197
201
  );
198
202
  instance.removeEventCallback(callbackId);
199
203
  }
@@ -3,12 +3,15 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { useState, useEffect } from "react";
6
+ import { useState, useEffect, useCallback } from "react";
7
7
  import {
8
8
  AccountInfo,
9
9
  IPublicClientApplication,
10
- AccountEntity,
11
10
  InteractionStatus,
11
+ EventMessage,
12
+ EventType,
13
+ InteractionType,
14
+ IdTokenClaims,
12
15
  } from "@azure/msal-browser";
13
16
  import { useMsal } from "./useMsal.js";
14
17
  import { AccountIdentifiers } from "../types/AccountIdentifiers.js";
@@ -34,6 +37,38 @@ function getAccount(
34
37
  );
35
38
  }
36
39
 
40
+ /**
41
+ * Helper function to determine whether 2 accountInfo objects represent the same account
42
+ * @param accountA
43
+ * @param accountB
44
+ */
45
+ export function accountInfoIsEqual(
46
+ accountA: AccountInfo | null,
47
+ accountB: AccountInfo | null
48
+ ): boolean {
49
+ if (!accountA || !accountB) {
50
+ return false;
51
+ }
52
+
53
+ const accountAClaims = (accountA.idTokenClaims || {}) as IdTokenClaims;
54
+ const accountBClaims = (accountB.idTokenClaims || {}) as IdTokenClaims;
55
+
56
+ // issued at timestamp and nonce are expected to change each time a new id token is acquired
57
+ const claimsMatch =
58
+ accountAClaims.iat === accountBClaims.iat &&
59
+ accountAClaims.nonce === accountBClaims.nonce;
60
+
61
+ return (
62
+ accountA.homeAccountId === accountB.homeAccountId &&
63
+ accountA.localAccountId === accountB.localAccountId &&
64
+ accountA.username === accountB.username &&
65
+ accountA.tenantId === accountB.tenantId &&
66
+ accountA.environment === accountB.environment &&
67
+ accountA.nativeAccountId === accountB.nativeAccountId &&
68
+ claimsMatch
69
+ );
70
+ }
71
+
37
72
  /**
38
73
  * Given 1 or more accountIdentifiers, returns the Account object if the user is signed-in
39
74
  * @param accountIdentifiers
@@ -51,25 +86,40 @@ export function useAccount(
51
86
  }
52
87
  });
53
88
 
89
+ const updateAccount = useCallback(() => {
90
+ const nextAccount = getAccount(instance, accountIdentifiers);
91
+ setAccount((currentAccount: AccountInfo | null) => {
92
+ if (!accountInfoIsEqual(currentAccount, nextAccount)) {
93
+ logger.info("useAccount - Updating account", "");
94
+ return nextAccount;
95
+ }
96
+ return currentAccount;
97
+ });
98
+ }, [accountIdentifiers, instance, logger]);
99
+
54
100
  useEffect(() => {
55
101
  if (inProgress !== InteractionStatus.Startup) {
56
- setAccount((currentAccount: AccountInfo | null) => {
57
- const nextAccount = getAccount(instance, accountIdentifiers);
102
+ updateAccount();
103
+ }
104
+
105
+ const callbackId = instance.addEventCallback(
106
+ (message: EventMessage) => {
58
107
  if (
59
- !AccountEntity.accountInfoIsEqual(
60
- currentAccount,
61
- nextAccount,
62
- true
63
- )
108
+ message.eventType === EventType.ACTIVE_ACCOUNT_CHANGED ||
109
+ (message.eventType === EventType.LOGIN_SUCCESS &&
110
+ message.interactionType === InteractionType.Silent)
64
111
  ) {
65
- logger.info("useAccount - Updating account");
66
- return nextAccount;
112
+ updateAccount();
67
113
  }
114
+ }
115
+ );
68
116
 
69
- return currentAccount;
70
- });
71
- }
72
- }, [inProgress, accountIdentifiers, instance, logger]);
117
+ return () => {
118
+ if (callbackId) {
119
+ instance.removeEventCallback(callbackId);
120
+ }
121
+ };
122
+ }, [updateAccount, inProgress, instance]);
73
123
 
74
124
  return account;
75
125
  }