Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keep me signed in not working angular13 #6268

Closed
joserhonFA opened this issue Jul 26, 2023 · 20 comments
Closed

Keep me signed in not working angular13 #6268

joserhonFA opened this issue Jul 26, 2023 · 20 comments
Assignees
Labels
b2c Related to Azure B2C library-specific issues bug-unconfirmed A reported bug that needs to be investigated and confirmed msal-angular Related to @azure/msal-angular package msal-browser Related to msal-browser package public-client Issues regarding PublicClientApplications question Customer is asking for a clarification, use case or information.

Comments

@joserhonFA
Copy link

Core Library

MSAL.js (@azure/msal-browser)

Core Library Version

2.26.0

Wrapper Library

MSAL Angular (@azure/msal-angular)

Wrapper Library Version

2.3.2

Public or Confidential Client?

Public

Description

I am using Angular 13 and I have the keep me signed in option activated in my B2C User flow
But for some reason it is not working and after the refresh token is expired after 24 hours, the app is not keeping the user signed in.
As an additional note, I have only tried on my localhost. I haven't tried in a deployed environment.
Also, I am able to see the x-ms-cpim-sso cookie with an expiration of 3 days after I sign in when I check the keep me signed in checkbox at the moment I sign in.

The token request fails with a 400 error and I get the following response:
error: "invalid_grant"
error_description: "AADB2C90080: The provided grant has expired. Please re-authenticate and try again. Current time: 1690384873, Grant issued time: 1690382095, Grant expiration time: 1690384441\r\nCorrelation ID: a579bbf3-6d39-4263-b1f5-dc45ead042ef\r\nTimestamp: 2023-07-26 15:21:13Z\r\n"

Error Message

@azure/msal-angular@2.3.3 : Error - Interceptor - acquireTokenSilent rejected with error. Invoking interaction to resolve.
(anonymous) @ localhost:4200/vendor.js:31061
loggerCallback @ localhost:4200/main.js:485
Logger.executeCallback @ localhost:4200/vendor.js:16750
Logger.logMessage @ localhost:4200/vendor.js:16743
Logger.error @ localhost:4200/vendor.js:16757
(anonymous) @ localhost:4200/vendor.js:407
(anonymous) @ localhost:4200/vendor.js:40997
OperatorSubscriber._error @ localhost:4200/vendor.js:40860
error @ localhost:4200/vendor.js:39772
(anonymous) @ localhost:4200/vendor.js:40603
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
invokeTask @ localhost:4200/polyfills.js:3606
ZoneTask.invoke @ localhost:4200/polyfills.js:3591
data.args. @ localhost:4200/polyfills.js:5473
setInterval (async)
scheduleTask @ localhost:4200/polyfills.js:5475
scheduleTask @ localhost:4200/polyfills.js:3508
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMacroTask @ localhost:4200/polyfills.js:3359
scheduleMacroTaskWithCurrentZone @ localhost:4200/polyfills.js:3798
(anonymous) @ localhost:4200/polyfills.js:5517
proto. @ localhost:4200/polyfills.js:4088
(anonymous) @ localhost:4200/vendor.js:22089
(anonymous) @ localhost:4200/vendor.js:9533
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
SilentHandler.monitorIframeForHash @ localhost:4200/vendor.js:9523
(anonymous) @ localhost:4200/vendor.js:8639
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
fulfilled @ localhost:4200/vendor.js:775
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
resolvePromise @ localhost:4200/polyfills.js:4317
(anonymous) @ localhost:4200/polyfills.js:4233
Promise.then (async)
(anonymous) @ localhost:4200/polyfills.js:4611
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
Ctor.then @ localhost:4200/polyfills.js:4610
resolvePromise @ localhost:4200/polyfills.js:4284
(anonymous) @ localhost:4200/polyfills.js:4233
step @ localhost:4200/vendor.js:777
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
BrowserCrypto.getSubtleCryptoDigest @ localhost:4200/vendor.js:4747
(anonymous) @ localhost:4200/vendor.js:4649
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
BrowserCrypto.sha256Digest @ localhost:4200/vendor.js:4645
(anonymous) @ localhost:4200/vendor.js:5356
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
PkceGenerator.generateCodeChallengeFromVerifier @ localhost:4200/vendor.js:5350
(anonymous) @ localhost:4200/vendor.js:5317
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
PkceGenerator.generateCodes @ localhost:4200/vendor.js:5311
(anonymous) @ localhost:4200/vendor.js:4976
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
CryptoOps.generatePkceCodes @ localhost:4200/vendor.js:4974
(anonymous) @ localhost:4200/vendor.js:8843
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
StandardInteractionClient.initializeAuthorizationCodeRequest @ localhost:4200/vendor.js:8837
(anonymous) @ localhost:4200/vendor.js:8629
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
SilentIframeClient.silentTokenHelper @ localhost:4200/vendor.js:8624
(anonymous) @ localhost:4200/vendor.js:8584
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
fulfilled @ localhost:4200/vendor.js:775
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
resolvePromise @ localhost:4200/polyfills.js:4317
(anonymous) @ localhost:4200/polyfills.js:4233
Promise.then (async)
(anonymous) @ localhost:4200/polyfills.js:4611
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
Ctor.then @ localhost:4200/polyfills.js:4610
resolvePromise @ localhost:4200/polyfills.js:4284
(anonymous) @ localhost:4200/polyfills.js:4233
(anonymous) @ localhost:4200/vendor.js:773
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
adopt @ localhost:4200/vendor.js:773
step @ localhost:4200/vendor.js:777
fulfilled @ localhost:4200/vendor.js:775
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
resolvePromise @ localhost:4200/polyfills.js:4317
(anonymous) @ localhost:4200/polyfills.js:4233
Promise.then (async)
(anonymous) @ localhost:4200/polyfills.js:4611
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
Ctor.then @ localhost:4200/polyfills.js:4610
(anonymous) @ localhost:4200/vendor.js:31089
(anonymous) @ localhost:4200/vendor.js:9788
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
FetchClient.sendPostRequestAsync @ localhost:4200/vendor.js:9779
(anonymous) @ localhost:4200/vendor.js:16950
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
(anonymous) @ localhost:4200/vendor.js:10873
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:10869
NetworkManager.sendPostRequest @ localhost:4200/vendor.js:16941
(anonymous) @ localhost:4200/vendor.js:14771
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
(anonymous) @ localhost:4200/vendor.js:10873
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:10869
BaseClient.executePostToTokenEndpoint @ localhost:4200/vendor.js:14767
(anonymous) @ localhost:4200/vendor.js:14962
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
fulfilled @ localhost:4200/vendor.js:10870
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
resolvePromise @ localhost:4200/polyfills.js:4317
(anonymous) @ localhost:4200/polyfills.js:4233
Promise.then (async)
(anonymous) @ localhost:4200/polyfills.js:4611
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
Ctor.then @ localhost:4200/polyfills.js:4610
resolvePromise @ localhost:4200/polyfills.js:4284
(anonymous) @ localhost:4200/polyfills.js:4233
(anonymous) @ localhost:4200/vendor.js:773
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
adopt @ localhost:4200/vendor.js:773
step @ localhost:4200/vendor.js:777
fulfilled @ localhost:4200/vendor.js:775
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
resolvePromise @ localhost:4200/polyfills.js:4317
(anonymous) @ localhost:4200/polyfills.js:4233
Promise.then (async)
(anonymous) @ localhost:4200/polyfills.js:4611
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
Ctor.then @ localhost:4200/polyfills.js:4610
(anonymous) @ localhost:4200/vendor.js:31089
(anonymous) @ localhost:4200/vendor.js:9740
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
FetchClient.sendGetRequestAsync @ localhost:4200/vendor.js:9734
(anonymous) @ localhost:4200/vendor.js:11474
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
(anonymous) @ localhost:4200/vendor.js:10873
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:10869
Authority.getEndpointMetadataFromNetwork @ localhost:4200/vendor.js:11462
(anonymous) @ localhost:4200/vendor.js:11405
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
(anonymous) @ localhost:4200/vendor.js:10873
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:10869
Authority.updateEndpointMetadata @ localhost:4200/vendor.js:11390
(anonymous) @ localhost:4200/vendor.js:11368
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
fulfilled @ localhost:4200/vendor.js:10870
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
invokeTask @ localhost:4200/polyfills.js:3606
invokeTask @ localhost:4200/polyfills.js:4763
globalCallback @ localhost:4200/polyfills.js:4806
globalZoneAwareCallback @ localhost:4200/polyfills.js:4827
load (async)
customScheduleGlobal @ localhost:4200/polyfills.js:4911
scheduleTask @ localhost:4200/polyfills.js:3508
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleEventTask @ localhost:4200/polyfills.js:3362
(anonymous) @ localhost:4200/polyfills.js:5066
(anonymous) @ localhost:4200/vendor.js:22188
(anonymous) @ localhost:4200/vendor.js:31431
(anonymous) @ localhost:4200/vendor.js:84638
_trySubscribe @ localhost:4200/vendor.js:39405
(anonymous) @ localhost:4200/vendor.js:39399
errorContext @ localhost:4200/vendor.js:43482
subscribe @ localhost:4200/vendor.js:39390
doInnerSub @ localhost:4200/vendor.js:41493
outerNext @ localhost:4200/vendor.js:41488
OperatorSubscriber._next @ localhost:4200/vendor.js:40850
next @ localhost:4200/vendor.js:39763
(anonymous) @ localhost:4200/vendor.js:40590
_trySubscribe @ localhost:4200/vendor.js:39405
(anonymous) @ localhost:4200/vendor.js:39399
errorContext @ localhost:4200/vendor.js:43482
subscribe @ localhost:4200/vendor.js:39390
mergeInternals @ localhost:4200/vendor.js:41524
(anonymous) @ localhost:4200/vendor.js:41564
(anonymous) @ localhost:4200/vendor.js:43786
(anonymous) @ localhost:4200/vendor.js:39394
errorContext @ localhost:4200/vendor.js:43482
subscribe @ localhost:4200/vendor.js:39390
(anonymous) @ localhost:4200/vendor.js:41270
(anonymous) @ localhost:4200/vendor.js:43786
(anonymous) @ localhost:4200/vendor.js:39394
errorContext @ localhost:4200/vendor.js:43482
subscribe @ localhost:4200/vendor.js:39390
(anonymous) @ localhost:4200/vendor.js:41410
(anonymous) @ localhost:4200/vendor.js:43786
(anonymous) @ localhost:4200/vendor.js:39394
errorContext @ localhost:4200/vendor.js:43482
subscribe @ localhost:4200/vendor.js:39390
(anonymous) @ localhost:4200/vendor.js:40088
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
lastValueFrom @ localhost:4200/vendor.js:40085
loadConfig @ localhost:4200/main.js:1213
(anonymous) @ localhost:4200/main.js:1223
runInitializers @ localhost:4200/vendor.js:110365
(anonymous) @ localhost:4200/vendor.js:111720
_callAndReportToErrorHandler @ localhost:4200/vendor.js:111828
(anonymous) @ localhost:4200/vendor.js:111718
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
run @ localhost:4200/vendor.js:110998
bootstrapModuleFactory @ localhost:4200/vendor.js:111697
(anonymous) @ localhost:4200/vendor.js:111750
invoke @ localhost:4200/polyfills.js:3487
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
then @ localhost:4200/polyfills.js:4565
bootstrapModule @ localhost:4200/vendor.js:111750
14431 @ localhost:4200/main.js:8996
webpack_require @ localhost:4200/runtime.js:23
webpack_exec @ localhost:4200/main.js:9004
(anonymous) @ localhost:4200/main.js:9005
webpack_require.O @ localhost:4200/runtime.js:60
(anonymous) @ localhost:4200/main.js:9006
webpackJsonpCallback @ localhost:4200/runtime.js:304
(anonymous) @ localhost:4200/main.js:2
5 ERROR Error: Uncaught (in promise): BrowserAuthError: interaction_in_progress: Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API. For more visit: aka.ms/msaljs/browser-errors.
BrowserAuthError: interaction_in_progress: Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API. For more visit: aka.ms/msaljs/browser-errors.

Msal Logs

[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - Event callback registered with id: c4d0200b-acd1-483e-9662-4ae88a8e089a
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - getAllAccounts called
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - Adding account storage listener.
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - MsalRedirectComponent activated
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - Emitting event to callback c4d0200b-acd1-483e-9662-4ae88a8e089a: msal:initializeStart
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - Emitting event to callback c4d0200b-acd1-483e-9662-4ae88a8e089a: msal:initializeEnd
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - handleRedirectPromise called
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - getAllAccounts called
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - Emitting event to callback c4d0200b-acd1-483e-9662-4ae88a8e089a: msal:handleRedirectStart
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - BroadcastService - msal:handleRedirectStart results in setting inProgress from startup to handleRedirect
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - handleRedirectPromise has been called for the first time, storing the promise
[Wed, 26 Jul 2023 15:21:12 GMT] : [24d21806-626f-4f84-84bf-72247a090d41] : msal.js.browser@2.27.0 : Verbose - initializeServerTelemetryManager called
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - Emitting event to callback c4d0200b-acd1-483e-9662-4ae88a8e089a: msal:handleRedirectEnd
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - BroadcastService - msal:handleRedirectEnd results in setting inProgress from handleRedirect to none
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - getAllAccounts called
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - MSAL Interceptor activated
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - getting scopes for endpoint
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - active account selected
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightBrowserEnvironmentCheck started
[Wed, 26 Jul 2023 15:21:12 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenSilent called
[Wed, 26 Jul 2023 15:21:12 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenSilent called for the first time, storing active request
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - Emitting event to callback c4d0200b-acd1-483e-9662-4ae88a8e089a: msal:acquireTokenStart
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenSilent - attempting to acquire token from web flow
[Wed, 26 Jul 2023 15:21:12 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - Initializing BaseAuthRequest
[Wed, 26 Jul 2023 15:21:12 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - Authentication Scheme wasn't explicitly set in request, defaulting to "Bearer" request
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - MSAL Interceptor activated
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - getting scopes for endpoint
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - active account selected
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightBrowserEnvironmentCheck started
[Wed, 26 Jul 2023 15:21:12 GMT] : [bd97bea1-5e03-485b-84d1-6190c5b201ed] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenSilent called
[Wed, 26 Jul 2023 15:21:12 GMT] : [bd97bea1-5e03-485b-84d1-6190c5b201ed] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenSilent has been called previously, returning the result from the first call
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - MSAL Interceptor activated
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - getting scopes for endpoint
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - active account selected
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightBrowserEnvironmentCheck started
[Wed, 26 Jul 2023 15:21:12 GMT] : [02dc03b4-f2fa-4996-bafe-743776e4685f] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenSilent called
[Wed, 26 Jul 2023 15:21:12 GMT] : [02dc03b4-f2fa-4996-bafe-743776e4685f] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenSilent has been called previously, returning the result from the first call
[Wed, 26 Jul 2023 15:21:12 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - initializeServerTelemetryManager called
[Wed, 26 Jul 2023 15:21:12 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - getClientConfiguration called
[Wed, 26 Jul 2023 15:21:12 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - getDiscoveredAuthority called
[Wed, 26 Jul 2023 15:21:12 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - Creating discovered authority with configured authority
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - Guard - canActivate
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - MSAL Guard activated
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - handleRedirectPromise called
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - getAllAccounts called
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - handleRedirectPromise has been called previously, returning the result from the first call
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - getAllAccounts called
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - Guard - at least 1 account exists, can activate or load
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - MSAL Interceptor activated
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - getting scopes for endpoint
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - active account selected
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightBrowserEnvironmentCheck started
[Wed, 26 Jul 2023 15:21:12 GMT] : [e6b92c94-697f-443b-9412-2ba329ce052c] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenSilent called
[Wed, 26 Jul 2023 15:21:12 GMT] : [e6b92c94-697f-443b-9412-2ba329ce052c] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenSilent has been called previously, returning the result from the first call
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - MSAL Interceptor activated
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - getting scopes for endpoint
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - active account selected
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightBrowserEnvironmentCheck started
[Wed, 26 Jul 2023 15:21:12 GMT] : [96d91397-3ec1-43c2-a3ef-3c211662fa6e] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenSilent called
[Wed, 26 Jul 2023 15:21:12 GMT] : [96d91397-3ec1-43c2-a3ef-3c211662fa6e] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenSilent has been called previously, returning the result from the first call
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - MSAL Interceptor activated
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - getting scopes for endpoint
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - active account selected
[Wed, 26 Jul 2023 15:21:12 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightBrowserEnvironmentCheck started
[Wed, 26 Jul 2023 15:21:12 GMT] : [f4b9c477-ab5f-41ee-b15d-6d85cafbe22a] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenSilent called
[Wed, 26 Jul 2023 15:21:12 GMT] : [f4b9c477-ab5f-41ee-b15d-6d85cafbe22a] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenSilent has been called previously, returning the result from the first call
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - Silent auth client created
[Wed, 26 Jul 2023 15:21:13 GMT] : @azure/msal-browser@2.27.0 : Verbose - Emitting event to callback c4d0200b-acd1-483e-9662-4ae88a8e089a: msal:acquireTokenFromNetworkStart
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - Initializing BaseAuthRequest
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - Authentication Scheme set to "Bearer" as configured in Auth request
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - initializeServerTelemetryManager called
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - getClientConfiguration called
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - getDiscoveredAuthority called
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - Creating discovered authority with configured authority
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - Refresh token client created
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : @azure/msal-browser@2.27.0 : Verbose - Refresh token expired or invalid, attempting acquire token by iframe
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - acquireTokenByIframe called
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - initializeAuthorizationRequest called
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - getRedirectUri called
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - Initializing BaseAuthRequest
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - Authentication Scheme set to "Bearer" as configured in Auth request
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - Setting validated request account
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - initializeServerTelemetryManager called
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - getClientConfiguration called
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - getDiscoveredAuthority called
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - Creating discovered authority with configured authority
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - Auth code client created
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - initializeAuthorizationRequest called
[Wed, 26 Jul 2023 15:21:13 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : @azure/msal-common@7.1.0 : Verbose - createAuthCodeUrlQueryString: Adding login_hint from account
[Wed, 26 Jul 2023 15:21:16 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - validateAndExtractStateFromHash called
[Wed, 26 Jul 2023 15:21:16 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - Returning state from hash
[Wed, 26 Jul 2023 15:21:16 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : msal.js.browser@2.27.0 : Verbose - InteractionHandler.handleCodeResponse called
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-browser@2.27.0 : Verbose - Emitting event to callback c4d0200b-acd1-483e-9662-4ae88a8e089a: msal:acquireTokenFailure
[Wed, 26 Jul 2023 15:21:16 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : @azure/msal-browser@2.27.0 : Verbose - PerformanceClient: Measurement found for acquireTokenSilent
2 [Wed, 26 Jul 2023 15:21:16 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : @azure/msal-browser@2.27.0 : Verbose - PerformanceClient: Submeasurement for acquireTokenSilent already exists for standardInteractionClientGetDiscoveredAuthority, ignoring
[Wed, 26 Jul 2023 15:21:16 GMT] : [bc9594cd-1e71-405a-ac3b-756ebfef07fe] : @azure/msal-browser@2.27.0 : Verbose - PerformanceClient: Emitting performance events
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - error acquiring token silently, acquiring by redirect
[Wed, 26 Jul 2023 15:21:16 GMT] : [51da7517-9be6-406e-a7c1-c9a199b5a0a7] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenRedirect called
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightBrowserEnvironmentCheck started
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightInteractiveRequest called, validating app environment
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-browser@2.27.0 : Verbose - getAllAccounts called
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-browser@2.27.0 : Verbose - Emitting event to callback c4d0200b-acd1-483e-9662-4ae88a8e089a: msal:acquireTokenStart
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-angular@2.3.3 : Verbose - BroadcastService - msal:acquireTokenStart results in setting inProgress from none to acquireToken
[Wed, 26 Jul 2023 15:21:16 GMT] : [4054727f-26e1-4d86-b7e0-6bfab13705f3] : msal.js.browser@2.27.0 : Verbose - initializeAuthorizationRequest called
[Wed, 26 Jul 2023 15:21:16 GMT] : [4054727f-26e1-4d86-b7e0-6bfab13705f3] : msal.js.browser@2.27.0 : Verbose - getRedirectUri called
[Wed, 26 Jul 2023 15:21:16 GMT] : [4054727f-26e1-4d86-b7e0-6bfab13705f3] : msal.js.browser@2.27.0 : Verbose - Initializing BaseAuthRequest
[Wed, 26 Jul 2023 15:21:16 GMT] : [4054727f-26e1-4d86-b7e0-6bfab13705f3] : msal.js.browser@2.27.0 : Verbose - Authentication Scheme wasn't explicitly set in request, defaulting to "Bearer" request
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - error acquiring token silently, acquiring by redirect
[Wed, 26 Jul 2023 15:21:16 GMT] : [98043183-bead-4a8e-87b4-5c0607ff489d] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenRedirect called
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightBrowserEnvironmentCheck started
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightInteractiveRequest called, validating app environment
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - error acquiring token silently, acquiring by redirect
[Wed, 26 Jul 2023 15:21:16 GMT] : [ffb1984c-5436-4c14-8075-52ab0981a8d6] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenRedirect called
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightBrowserEnvironmentCheck started
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightInteractiveRequest called, validating app environment
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - error acquiring token silently, acquiring by redirect
[Wed, 26 Jul 2023 15:21:16 GMT] : [7849fff8-4011-4398-9388-325140839216] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenRedirect called
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightBrowserEnvironmentCheck started
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightInteractiveRequest called, validating app environment
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - error acquiring token silently, acquiring by redirect
[Wed, 26 Jul 2023 15:21:16 GMT] : [49e32aa4-ce2f-49b7-bf6a-be4876c2fae0] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenRedirect called
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightBrowserEnvironmentCheck started
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightInteractiveRequest called, validating app environment
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-angular@2.3.3 : Verbose - Interceptor - error acquiring token silently, acquiring by redirect
[Wed, 26 Jul 2023 15:21:16 GMT] : [4d2f7641-1356-4348-9f47-fb733ddedbf9] : @azure/msal-browser@2.27.0 : Verbose - acquireTokenRedirect called
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightBrowserEnvironmentCheck started
[Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-browser@2.27.0 : Verbose - preflightInteractiveRequest called, validating app environment
[Wed, 26 Jul 2023 15:21:16 GMT] : [4054727f-26e1-4d86-b7e0-6bfab13705f3] : msal.js.browser@2.27.0 : Verbose - Setting validated request account
[Wed, 26 Jul 2023 15:21:16 GMT] : [4054727f-26e1-4d86-b7e0-6bfab13705f3] : msal.js.browser@2.27.0 : Verbose - initializeServerTelemetryManager called
[Wed, 26 Jul 2023 15:21:16 GMT] : [4054727f-26e1-4d86-b7e0-6bfab13705f3] : msal.js.browser@2.27.0 : Verbose - initializeAuthorizationRequest called
[Wed, 26 Jul 2023 15:21:16 GMT] : [4054727f-26e1-4d86-b7e0-6bfab13705f3] : msal.js.browser@2.27.0 : Verbose - getClientConfiguration called
[Wed, 26 Jul 2023 15:21:16 GMT] : [4054727f-26e1-4d86-b7e0-6bfab13705f3] : msal.js.browser@2.27.0 : Verbose - getDiscoveredAuthority called
[Wed, 26 Jul 2023 15:21:16 GMT] : [4054727f-26e1-4d86-b7e0-6bfab13705f3] : msal.js.browser@2.27.0 : Verbose - Creating discovered authority with configured authority
[Wed, 26 Jul 2023 15:21:16 GMT] : [4054727f-26e1-4d86-b7e0-6bfab13705f3] : msal.js.browser@2.27.0 : Verbose - Auth code client created
[Wed, 26 Jul 2023 15:21:16 GMT] : [4054727f-26e1-4d86-b7e0-6bfab13705f3] : @azure/msal-common@7.1.0 : Verbose - createAuthCodeUrlQueryString: Adding login_hint from account
[Wed, 26 Jul 2023 15:21:16 GMT] : [4054727f-26e1-4d86-b7e0-6bfab13705f3] : msal.js.browser@2.27.0 : Verbose - RedirectHandler.initiateAuthRequest called
[Wed, 26 Jul 2023 15:21:16 GMT] : [4054727f-26e1-4d86-b7e0-6bfab13705f3] : msal.js.browser@2.27.0 : Verbose - RedirectHandler.initiateAuthRequest: redirectStartPage set, caching start page
[Wed, 26 Jul 2023 15:21:16 GMT] : [4054727f-26e1-4d86-b7e0-6bfab13705f3] : msal.js.browser@2.27.0 : Verbose - RedirectHandler.initiateAuthRequest: Navigating window to navigate url

MSAL Configuration

{
    auth: {
      clientId: configService.config.auth.clientId,
      authority: configService.config.auth.authority,
      redirectUri: configService.config.auth.redirectUri,
      knownAuthorities: configService.config.auth.knownAuthorities,
      postLogoutRedirectUri: '/'
    },
    cache: {
      cacheLocation: BrowserCacheLocation.LocalStorage,
      storeAuthStateInCookie: isIE // set to true for IE 11
    },
    system: {
      loggerOptions: {
        loggerCallback: (level, message, containsPii) => {
          if (containsPii) {
            return;
          }
          console.log(message)
        },
        logLevel: LogLevel.Verbose,
        piiLoggingEnabled: isIE
      }
    }
  }

Relevant Code Snippets

App module:
export function MSALInstanceFactory(configService: ConfigurationService): IPublicClientApplication {
  return new PublicClientApplication({
    auth: {
      clientId: configService.config.auth.clientId,
      authority: configService.config.auth.authority,
      redirectUri: configService.config.auth.redirectUri,
      knownAuthorities: configService.config.auth.knownAuthorities,
      postLogoutRedirectUri: '/'
    },
    cache: {
      cacheLocation: BrowserCacheLocation.LocalStorage,
      storeAuthStateInCookie: isIE
    },
    system: {
      loggerOptions: {
        loggerCallback: (level, message, containsPii) => {
          if (containsPii) {return;}
          console.log(message)
        },
        logLevel: LogLevel.Verbose,
        piiLoggingEnabled: isIE
      }}});
}
export function MSALGuardConfigFactory(configService: ConfigurationService): MsalGuardConfiguration {
  return {
    interactionType: InteractionType.Redirect,
    authRequest: { scopes: [...configService.config.auth.scopes]}
  };
}
export function MSALInterceptorConfigFactory(configService: ConfigurationService): MsalInterceptorConfiguration {
  const protectedResourceMap = new Map<string, Array<string>>();
  protectedResourceMap.set(configService.config.graphQLUrl, configService.config?.auth.scopes);
  return {
    interactionType: InteractionType.Redirect,
    protectedResourceMap
  };
}
@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    BrowserAnimationsModule,
    CoreModule,
    MsalModule,
    GraphQLModule,
    HttpClientModule
  ],
  providers: [
    {
      provide: HTTP_INTERCEPTORS,
      useClass: MsalInterceptor,
      multi: true
    },
    {
      provide: APP_INITIALIZER,
      useFactory: configFactory,
      deps: [ConfigurationService],
      multi: true
    },
    {
      provide: MSAL_INSTANCE,
      useFactory: MSALInstanceFactory,
      deps: [ConfigurationService]
    },
    {
      provide: MSAL_GUARD_CONFIG,
      useFactory: MSALGuardConfigFactory,
      deps: [ConfigurationService]
    },
    {
      provide: MSAL_INTERCEPTOR_CONFIG,
      useFactory: MSALInterceptorConfigFactory,
      deps: [ConfigurationService]
    },
    MsalService,
    MsalGuard,
    MsalBroadcastService
  ],
  bootstrap: [AppComponent, MsalRedirectComponent]
})
constructor(...
    @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,
    private msalBroadcastService: MsalBroadcastService,
    private msalService: MsalService
  ) { }
This is part of my app.component
ngOnInit(): void {
    this.isIframe = window !== window.parent && !window.opener;
    this.setLoginDisplay();
    this.msalService.instance.enableAccountStorageEvents();
    this.msalBroadcastService.msalSubject$
      .pipe(
        filter((msg: EventMessage) => msg.eventType === EventType.ACCOUNT_ADDED || msg.eventType === EventType.ACCOUNT_REMOVED),
        takeUntil(this._destroying$)
      )
      .subscribe(() => {
        if (this.msalService.instance.getAllAccounts().length === 0) {
          window.location.pathname = '/';
        } else {
          this.setLoginDisplay();
        }
      });
    this.msalBroadcastService.inProgress$
      .pipe(
        filter((status: InteractionStatus) => status === InteractionStatus.None),
        takeUntil(this._destroying$)
      )
      .subscribe((res) => {
        this.setLoginDisplay();
        this.checkAndSetActiveAccount();
        this.role = this.authService.userRole;
      });
    this.msalBroadcastService.msalSubject$
      .pipe(
        filter((msg: EventMessage) => msg.eventType === EventType.LOGIN_SUCCESS ||
        msg.eventType === EventType.ACQUIRE_TOKEN_SUCCESS ||
        msg.eventType === EventType.SSO_SILENT_SUCCESS),
        takeUntil(this._destroying$)
      )
      .subscribe((result: EventMessage) => {
        const payload = result.payload as AuthenticationResult;
        const idtoken = payload.idTokenClaims as IdTokenClaimsWithPolicyId;
        if (idtoken.acr === 'B2C_1_signupandsignin' || idtoken.tfp === 'B2C_1_signupandsignin') {
          console.log('success set active account', result);
          this.msalService.instance.setActiveAccount(payload.account);
        }
        return result;
      });
    this.msalBroadcastService.msalSubject$
      .pipe(
        filter((msg: EventMessage) => msg.eventType === EventType.LOGIN_FAILURE || msg.eventType === EventType.ACQUIRE_TOKEN_FAILURE)
      )
      .subscribe((result: EventMessage) => {
        if (result.error && result.error.message.indexOf('AADB2C90118') > -1) {
          const resetPasswordFlowRequest: RedirectRequest | PopupRequest = {
            authority: 'https://authorityDomain/domainName/B2C_1_passwordreset',
            scopes: []
          };
          this.login(resetPasswordFlowRequest);
        }
      });
  }
  setLoginDisplay(): void {
    this.loginDisplay = this.msalService.instance.getAllAccounts().length > 0;
  }
  checkAndSetActiveAccount(): void {
    const activeAccount = this.msalService.instance.getActiveAccount();
    if (!activeAccount && this.msalService.instance.getAllAccounts().length > 0) {
      const accounts = this.msalService.instance.getAllAccounts();
      this.msalService.instance.setActiveAccount(accounts[0]);
    }
  }

  login(userFlowRequest?: RedirectRequest | PopupRequest): void {
    if (this.msalGuardConfig.interactionType === InteractionType.Popup) {
      if (this.msalGuardConfig.authRequest) {
        this.msalService.loginPopup({ ...this.msalGuardConfig.authRequest, ...userFlowRequest } as PopupRequest)
          .subscribe((response: AuthenticationResult) => {
            this.msalService.instance.setActiveAccount(response.account);
          });
      } else {
        this.msalService.loginPopup(userFlowRequest)
          .subscribe((response: AuthenticationResult) => {
            this.msalService.instance.setActiveAccount(response.account);
          });
      }
    } else {
      if (this.msalGuardConfig.authRequest) {
        this.msalService.loginRedirect({ ...this.msalGuardConfig.authRequest, ...userFlowRequest } as RedirectRequest);
      } else {
        this.msalService.loginRedirect(userFlowRequest);
      }
    }
  }

Reproduction Steps

  1. Go to http://localhost:4200/
  2. Sign in with Checking the Keep me signed in checkbox
  3. User is redirected to main page successfully and is able to make api requests.
  4. After 24 hours it is redirected to the sign in page again and token refresh fails

Expected Behavior

After 24 hours if users tries to do something that requires an api call, it is NOT redirected to the sign in page again and it's able to continue navigating for 3 days (b2c setting in my user flow)

Identity Provider

Azure B2C Basic Policy

Browsers Affected (Select all that apply)

Chrome, Firefox, Edge, Safari

Regression

No response

Source

External (Customer)

@joserhonFA joserhonFA added bug-unconfirmed A reported bug that needs to be investigated and confirmed question Customer is asking for a clarification, use case or information. labels Jul 26, 2023
@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs: Attention 👋 Awaiting response from the MSAL.js team label Jul 26, 2023
@github-actions github-actions bot added b2c Related to Azure B2C library-specific issues msal-angular Related to @azure/msal-angular package msal-browser Related to msal-browser package public-client Issues regarding PublicClientApplications labels Jul 26, 2023
@joserhonFA
Copy link
Author

I was not able to paste the full error logs so here is the complete error logs:
6 [Wed, 26 Jul 2023 15:21:16 GMT] : @azure/msal-angular@2.3.3 : Error - Interceptor - acquireTokenSilent rejected with error. Invoking interaction to resolve.
(anonymous) @ localhost:4200/vendor.js:31061
loggerCallback @ localhost:4200/main.js:485
Logger.executeCallback @ localhost:4200/vendor.js:16750
Logger.logMessage @ localhost:4200/vendor.js:16743
Logger.error @ localhost:4200/vendor.js:16757
(anonymous) @ localhost:4200/vendor.js:407
(anonymous) @ localhost:4200/vendor.js:40997
OperatorSubscriber._error @ localhost:4200/vendor.js:40860
error @ localhost:4200/vendor.js:39772
(anonymous) @ localhost:4200/vendor.js:40603
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
invokeTask @ localhost:4200/polyfills.js:3606
ZoneTask.invoke @ localhost:4200/polyfills.js:3591
data.args. @ localhost:4200/polyfills.js:5473
setInterval (async)
scheduleTask @ localhost:4200/polyfills.js:5475
scheduleTask @ localhost:4200/polyfills.js:3508
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMacroTask @ localhost:4200/polyfills.js:3359
scheduleMacroTaskWithCurrentZone @ localhost:4200/polyfills.js:3798
(anonymous) @ localhost:4200/polyfills.js:5517
proto. @ localhost:4200/polyfills.js:4088
(anonymous) @ localhost:4200/vendor.js:22089
(anonymous) @ localhost:4200/vendor.js:9533
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
SilentHandler.monitorIframeForHash @ localhost:4200/vendor.js:9523
(anonymous) @ localhost:4200/vendor.js:8639
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
fulfilled @ localhost:4200/vendor.js:775
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
resolvePromise @ localhost:4200/polyfills.js:4317
(anonymous) @ localhost:4200/polyfills.js:4233
Promise.then (async)
(anonymous) @ localhost:4200/polyfills.js:4611
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
Ctor.then @ localhost:4200/polyfills.js:4610
resolvePromise @ localhost:4200/polyfills.js:4284
(anonymous) @ localhost:4200/polyfills.js:4233
step @ localhost:4200/vendor.js:777
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
BrowserCrypto.getSubtleCryptoDigest @ localhost:4200/vendor.js:4747
(anonymous) @ localhost:4200/vendor.js:4649
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
BrowserCrypto.sha256Digest @ localhost:4200/vendor.js:4645
(anonymous) @ localhost:4200/vendor.js:5356
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
PkceGenerator.generateCodeChallengeFromVerifier @ localhost:4200/vendor.js:5350
(anonymous) @ localhost:4200/vendor.js:5317
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
PkceGenerator.generateCodes @ localhost:4200/vendor.js:5311
(anonymous) @ localhost:4200/vendor.js:4976
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
CryptoOps.generatePkceCodes @ localhost:4200/vendor.js:4974
(anonymous) @ localhost:4200/vendor.js:8843
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
StandardInteractionClient.initializeAuthorizationCodeRequest @ localhost:4200/vendor.js:8837
(anonymous) @ localhost:4200/vendor.js:8629
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
SilentIframeClient.silentTokenHelper @ localhost:4200/vendor.js:8624
(anonymous) @ localhost:4200/vendor.js:8584
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
fulfilled @ localhost:4200/vendor.js:775
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
resolvePromise @ localhost:4200/polyfills.js:4317
(anonymous) @ localhost:4200/polyfills.js:4233
Promise.then (async)
(anonymous) @ localhost:4200/polyfills.js:4611
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
Ctor.then @ localhost:4200/polyfills.js:4610
resolvePromise @ localhost:4200/polyfills.js:4284
(anonymous) @ localhost:4200/polyfills.js:4233
(anonymous) @ localhost:4200/vendor.js:773
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
adopt @ localhost:4200/vendor.js:773
step @ localhost:4200/vendor.js:777
fulfilled @ localhost:4200/vendor.js:775
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
resolvePromise @ localhost:4200/polyfills.js:4317
(anonymous) @ localhost:4200/polyfills.js:4233
Promise.then (async)
(anonymous) @ localhost:4200/polyfills.js:4611
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
Ctor.then @ localhost:4200/polyfills.js:4610
(anonymous) @ localhost:4200/vendor.js:31089
(anonymous) @ localhost:4200/vendor.js:9788
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
FetchClient.sendPostRequestAsync @ localhost:4200/vendor.js:9779
(anonymous) @ localhost:4200/vendor.js:16950
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
(anonymous) @ localhost:4200/vendor.js:10873
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:10869
NetworkManager.sendPostRequest @ localhost:4200/vendor.js:16941
(anonymous) @ localhost:4200/vendor.js:14771
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
(anonymous) @ localhost:4200/vendor.js:10873
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:10869
BaseClient.executePostToTokenEndpoint @ localhost:4200/vendor.js:14767
(anonymous) @ localhost:4200/vendor.js:14962
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
fulfilled @ localhost:4200/vendor.js:10870
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
resolvePromise @ localhost:4200/polyfills.js:4317
(anonymous) @ localhost:4200/polyfills.js:4233
Promise.then (async)
(anonymous) @ localhost:4200/polyfills.js:4611
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
Ctor.then @ localhost:4200/polyfills.js:4610
resolvePromise @ localhost:4200/polyfills.js:4284
(anonymous) @ localhost:4200/polyfills.js:4233
(anonymous) @ localhost:4200/vendor.js:773
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
adopt @ localhost:4200/vendor.js:773
step @ localhost:4200/vendor.js:777
fulfilled @ localhost:4200/vendor.js:775
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
resolvePromise @ localhost:4200/polyfills.js:4317
(anonymous) @ localhost:4200/polyfills.js:4233
Promise.then (async)
(anonymous) @ localhost:4200/polyfills.js:4611
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
Ctor.then @ localhost:4200/polyfills.js:4610
(anonymous) @ localhost:4200/vendor.js:31089
(anonymous) @ localhost:4200/vendor.js:9740
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
FetchClient.sendGetRequestAsync @ localhost:4200/vendor.js:9734
(anonymous) @ localhost:4200/vendor.js:11474
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
(anonymous) @ localhost:4200/vendor.js:10873
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:10869
Authority.getEndpointMetadataFromNetwork @ localhost:4200/vendor.js:11462
(anonymous) @ localhost:4200/vendor.js:11405
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
(anonymous) @ localhost:4200/vendor.js:10873
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:10869
Authority.updateEndpointMetadata @ localhost:4200/vendor.js:11390
(anonymous) @ localhost:4200/vendor.js:11368
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
fulfilled @ localhost:4200/vendor.js:10870
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
invokeTask @ localhost:4200/polyfills.js:3606
invokeTask @ localhost:4200/polyfills.js:4763
globalCallback @ localhost:4200/polyfills.js:4806
globalZoneAwareCallback @ localhost:4200/polyfills.js:4827
load (async)
customScheduleGlobal @ localhost:4200/polyfills.js:4911
scheduleTask @ localhost:4200/polyfills.js:3508
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleEventTask @ localhost:4200/polyfills.js:3362
(anonymous) @ localhost:4200/polyfills.js:5066
(anonymous) @ localhost:4200/vendor.js:22188
(anonymous) @ localhost:4200/vendor.js:31431
(anonymous) @ localhost:4200/vendor.js:84638
_trySubscribe @ localhost:4200/vendor.js:39405
(anonymous) @ localhost:4200/vendor.js:39399
errorContext @ localhost:4200/vendor.js:43482
subscribe @ localhost:4200/vendor.js:39390
doInnerSub @ localhost:4200/vendor.js:41493
outerNext @ localhost:4200/vendor.js:41488
OperatorSubscriber._next @ localhost:4200/vendor.js:40850
next @ localhost:4200/vendor.js:39763
(anonymous) @ localhost:4200/vendor.js:40590
_trySubscribe @ localhost:4200/vendor.js:39405
(anonymous) @ localhost:4200/vendor.js:39399
errorContext @ localhost:4200/vendor.js:43482
subscribe @ localhost:4200/vendor.js:39390
mergeInternals @ localhost:4200/vendor.js:41524
(anonymous) @ localhost:4200/vendor.js:41564
(anonymous) @ localhost:4200/vendor.js:43786
(anonymous) @ localhost:4200/vendor.js:39394
errorContext @ localhost:4200/vendor.js:43482
subscribe @ localhost:4200/vendor.js:39390
(anonymous) @ localhost:4200/vendor.js:41270
(anonymous) @ localhost:4200/vendor.js:43786
(anonymous) @ localhost:4200/vendor.js:39394
errorContext @ localhost:4200/vendor.js:43482
subscribe @ localhost:4200/vendor.js:39390
(anonymous) @ localhost:4200/vendor.js:41410
(anonymous) @ localhost:4200/vendor.js:43786
(anonymous) @ localhost:4200/vendor.js:39394
errorContext @ localhost:4200/vendor.js:43482
subscribe @ localhost:4200/vendor.js:39390
(anonymous) @ localhost:4200/vendor.js:40088
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
lastValueFrom @ localhost:4200/vendor.js:40085
loadConfig @ localhost:4200/main.js:1213
(anonymous) @ localhost:4200/main.js:1223
runInitializers @ localhost:4200/vendor.js:110365
(anonymous) @ localhost:4200/vendor.js:111720
_callAndReportToErrorHandler @ localhost:4200/vendor.js:111828
(anonymous) @ localhost:4200/vendor.js:111718
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
run @ localhost:4200/vendor.js:110998
bootstrapModuleFactory @ localhost:4200/vendor.js:111697
(anonymous) @ localhost:4200/vendor.js:111750
invoke @ localhost:4200/polyfills.js:3487
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
then @ localhost:4200/polyfills.js:4565
bootstrapModule @ localhost:4200/vendor.js:111750
14431 @ localhost:4200/main.js:8996
webpack_require @ localhost:4200/runtime.js:23
webpack_exec @ localhost:4200/main.js:9004
(anonymous) @ localhost:4200/main.js:9005
webpack_require.O @ localhost:4200/runtime.js:60
(anonymous) @ localhost:4200/main.js:9006
webpackJsonpCallback @ localhost:4200/runtime.js:304
(anonymous) @ localhost:4200/main.js:2
5 ERROR Error: Uncaught (in promise): BrowserAuthError: interaction_in_progress: Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API. For more visit: aka.ms/msaljs/browser-errors.
BrowserAuthError: interaction_in_progress: Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API. For more visit: aka.ms/msaljs/browser-errors.
at BrowserAuthError.AuthError [as constructor] (localhost:4200/vendor.js:15661:24)
at new BrowserAuthError (localhost:4200/vendor.js:5790:28)
at BrowserAuthError.createInteractionInProgressError (localhost:4200/vendor.js:5857:16)
at BrowserCacheManager.setInteractionInProgress (localhost:4200/vendor.js:3832:97)
at ClientApplication.preflightInteractiveRequest (localhost:4200/vendor.js:1775:27)
at ClientApplication.preflightBrowserEnvironmentCheck (localhost:4200/vendor.js:1758:12)
at PublicClientApplication. (localhost:4200/vendor.js:1134:14)
at step (localhost:4200/vendor.js:804:23)
at Object.next (localhost:4200/vendor.js:785:53)
at localhost:4200/vendor.js:778:71
at new ZoneAwarePromise (localhost:4200/polyfills.js:4542:29)
at __awaiter (localhost:4200/vendor.js:774:12)
at ClientApplication.acquireTokenRedirect (localhost:4200/vendor.js:1126:73)
at MsalService.acquireTokenRedirect (localhost:4200/vendor.js:88:73)
at MsalInterceptor.acquireTokenInteractively (localhost:4200/vendor.js:436:26)
at localhost:4200/vendor.js:408:25
at localhost:4200/vendor.js:40997:94
at OperatorSubscriber._error (localhost:4200/vendor.js:40860:21)
at OperatorSubscriber.error (localhost:4200/vendor.js:39772:18)
at localhost:4200/vendor.js:40603:26
at _ZoneDelegate.invoke (localhost:4200/polyfills.js:3487:26)
at Object.onInvoke (localhost:4200/vendor.js:111144:33)
at _ZoneDelegate.invoke (localhost:4200/polyfills.js:3486:52)
at Zone.run (localhost:4200/polyfills.js:3249:43)
at localhost:4200/polyfills.js:4390:36
at _ZoneDelegate.invokeTask (localhost:4200/polyfills.js:3521:31)
at Object.onInvokeTask (localhost:4200/vendor.js:111131:33)
at _ZoneDelegate.invokeTask (localhost:4200/polyfills.js:3520:60)
at Zone.runTask (localhost:4200/polyfills.js:3293:47)
at drainMicroTaskQueue (localhost:4200/polyfills.js:3700:35)
at invokeTask (localhost:4200/polyfills.js:3606:21)
at ZoneTask.invoke (localhost:4200/polyfills.js:3591:48)
at data.args. (localhost:4200/polyfills.js:5473:32)
at resolvePromise (localhost:4200/polyfills.js:4326:31)
at new ZoneAwarePromise (localhost:4200/polyfills.js:4545:17)
at __awaiter (localhost:4200/vendor.js:774:12)
at ClientApplication.acquireTokenRedirect (localhost:4200/vendor.js:1126:73)
at MsalService.acquireTokenRedirect (localhost:4200/vendor.js:88:73)
at MsalInterceptor.acquireTokenInteractively (localhost:4200/vendor.js:436:26)
at localhost:4200/vendor.js:408:25
at localhost:4200/vendor.js:40997:94
at OperatorSubscriber._error (localhost:4200/vendor.js:40860:21)
at OperatorSubscriber.error (localhost:4200/vendor.js:39772:18)
at localhost:4200/vendor.js:40603:26
at _ZoneDelegate.invoke (localhost:4200/polyfills.js:3487:26)
at Object.onInvoke (localhost:4200/vendor.js:111144:33)
at _ZoneDelegate.invoke (localhost:4200/polyfills.js:3486:52)
at Zone.run (localhost:4200/polyfills.js:3249:43)
at localhost:4200/polyfills.js:4390:36
at _ZoneDelegate.invokeTask (localhost:4200/polyfills.js:3521:31)
at Object.onInvokeTask (localhost:4200/vendor.js:111131:33)
at _ZoneDelegate.invokeTask (localhost:4200/polyfills.js:3520:60)
at Zone.runTask (localhost:4200/polyfills.js:3293:47)
at drainMicroTaskQueue (localhost:4200/polyfills.js:3700:35)
at invokeTask (localhost:4200/polyfills.js:3606:21)
at ZoneTask.invoke (localhost:4200/polyfills.js:3591:48)
at data.args. (localhost:4200/polyfills.js:5473:32)
(anonymous) @ localhost:4200/vendor.js:31061
defaultErrorLogger @ localhost:4200/vendor.js:92030
handleError @ localhost:4200/vendor.js:92077
next @ localhost:4200/vendor.js:111710
next @ localhost:4200/vendor.js:39823
_next @ localhost:4200/vendor.js:39792
next @ localhost:4200/vendor.js:39763
(anonymous) @ localhost:4200/vendor.js:39608
errorContext @ localhost:4200/vendor.js:43482
next @ localhost:4200/vendor.js:39601
emit @ localhost:4200/vendor.js:108019
(anonymous) @ localhost:4200/vendor.js:111170
invoke @ localhost:4200/polyfills.js:3487
run @ localhost:4200/polyfills.js:3249
runOutsideAngular @ localhost:4200/vendor.js:111043
onHandleError @ localhost:4200/vendor.js:111170
handleError @ localhost:4200/polyfills.js:3491
runGuarded @ localhost:4200/polyfills.js:3262
api.microtaskDrainDone @ localhost:4200/polyfills.js:4187
drainMicroTaskQueue @ localhost:4200/polyfills.js:3707
invokeTask @ localhost:4200/polyfills.js:3606
ZoneTask.invoke @ localhost:4200/polyfills.js:3591
data.args. @ localhost:4200/polyfills.js:5473
setInterval (async)
scheduleTask @ localhost:4200/polyfills.js:5475
scheduleTask @ localhost:4200/polyfills.js:3508
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMacroTask @ localhost:4200/polyfills.js:3359
scheduleMacroTaskWithCurrentZone @ localhost:4200/polyfills.js:3798
(anonymous) @ localhost:4200/polyfills.js:5517
proto. @ localhost:4200/polyfills.js:4088
(anonymous) @ localhost:4200/vendor.js:22089
(anonymous) @ localhost:4200/vendor.js:9533
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
SilentHandler.monitorIframeForHash @ localhost:4200/vendor.js:9523
(anonymous) @ localhost:4200/vendor.js:8639
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
fulfilled @ localhost:4200/vendor.js:775
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
resolvePromise @ localhost:4200/polyfills.js:4317
(anonymous) @ localhost:4200/polyfills.js:4233
Promise.then (async)
(anonymous) @ localhost:4200/polyfills.js:4611
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
Ctor.then @ localhost:4200/polyfills.js:4610
resolvePromise @ localhost:4200/polyfills.js:4284
(anonymous) @ localhost:4200/polyfills.js:4233
step @ localhost:4200/vendor.js:777
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
BrowserCrypto.getSubtleCryptoDigest @ localhost:4200/vendor.js:4747
(anonymous) @ localhost:4200/vendor.js:4649
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
BrowserCrypto.sha256Digest @ localhost:4200/vendor.js:4645
(anonymous) @ localhost:4200/vendor.js:5356
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
PkceGenerator.generateCodeChallengeFromVerifier @ localhost:4200/vendor.js:5350
(anonymous) @ localhost:4200/vendor.js:5317
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
PkceGenerator.generateCodes @ localhost:4200/vendor.js:5311
(anonymous) @ localhost:4200/vendor.js:4976
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
CryptoOps.generatePkceCodes @ localhost:4200/vendor.js:4974
(anonymous) @ localhost:4200/vendor.js:8843
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
StandardInteractionClient.initializeAuthorizationCodeRequest @ localhost:4200/vendor.js:8837
(anonymous) @ localhost:4200/vendor.js:8629
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
SilentIframeClient.silentTokenHelper @ localhost:4200/vendor.js:8624
(anonymous) @ localhost:4200/vendor.js:8584
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
fulfilled @ localhost:4200/vendor.js:775
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
resolvePromise @ localhost:4200/polyfills.js:4317
(anonymous) @ localhost:4200/polyfills.js:4233
Promise.then (async)
(anonymous) @ localhost:4200/polyfills.js:4611
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
Ctor.then @ localhost:4200/polyfills.js:4610
resolvePromise @ localhost:4200/polyfills.js:4284
(anonymous) @ localhost:4200/polyfills.js:4233
(anonymous) @ localhost:4200/vendor.js:773
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
adopt @ localhost:4200/vendor.js:773
step @ localhost:4200/vendor.js:777
fulfilled @ localhost:4200/vendor.js:775
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
resolvePromise @ localhost:4200/polyfills.js:4317
(anonymous) @ localhost:4200/polyfills.js:4233
Promise.then (async)
(anonymous) @ localhost:4200/polyfills.js:4611
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
Ctor.then @ localhost:4200/polyfills.js:4610
(anonymous) @ localhost:4200/vendor.js:31089
(anonymous) @ localhost:4200/vendor.js:9788
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
FetchClient.sendPostRequestAsync @ localhost:4200/vendor.js:9779
(anonymous) @ localhost:4200/vendor.js:16950
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
(anonymous) @ localhost:4200/vendor.js:10873
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:10869
NetworkManager.sendPostRequest @ localhost:4200/vendor.js:16941
(anonymous) @ localhost:4200/vendor.js:14771
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
(anonymous) @ localhost:4200/vendor.js:10873
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:10869
BaseClient.executePostToTokenEndpoint @ localhost:4200/vendor.js:14767
(anonymous) @ localhost:4200/vendor.js:14962
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
fulfilled @ localhost:4200/vendor.js:10870
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
resolvePromise @ localhost:4200/polyfills.js:4317
(anonymous) @ localhost:4200/polyfills.js:4233
Promise.then (async)
(anonymous) @ localhost:4200/polyfills.js:4611
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
Ctor.then @ localhost:4200/polyfills.js:4610
resolvePromise @ localhost:4200/polyfills.js:4284
(anonymous) @ localhost:4200/polyfills.js:4233
(anonymous) @ localhost:4200/vendor.js:773
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
adopt @ localhost:4200/vendor.js:773
step @ localhost:4200/vendor.js:777
fulfilled @ localhost:4200/vendor.js:775
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
resolvePromise @ localhost:4200/polyfills.js:4317
(anonymous) @ localhost:4200/polyfills.js:4233
Promise.then (async)
(anonymous) @ localhost:4200/polyfills.js:4611
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
Ctor.then @ localhost:4200/polyfills.js:4610
(anonymous) @ localhost:4200/vendor.js:31089
(anonymous) @ localhost:4200/vendor.js:9740
step @ localhost:4200/vendor.js:804
(anonymous) @ localhost:4200/vendor.js:785
(anonymous) @ localhost:4200/vendor.js:778
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:774
FetchClient.sendGetRequestAsync @ localhost:4200/vendor.js:9734
(anonymous) @ localhost:4200/vendor.js:11474
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
(anonymous) @ localhost:4200/vendor.js:10873
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:10869
Authority.getEndpointMetadataFromNetwork @ localhost:4200/vendor.js:11462
(anonymous) @ localhost:4200/vendor.js:11405
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
(anonymous) @ localhost:4200/vendor.js:10873
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
__awaiter @ localhost:4200/vendor.js:10869
Authority.updateEndpointMetadata @ localhost:4200/vendor.js:11390
(anonymous) @ localhost:4200/vendor.js:11368
step @ localhost:4200/vendor.js:10899
(anonymous) @ localhost:4200/vendor.js:10880
fulfilled @ localhost:4200/vendor.js:10870
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
onInvokeTask @ localhost:4200/vendor.js:111131
invokeTask @ localhost:4200/polyfills.js:3520
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
invokeTask @ localhost:4200/polyfills.js:3606
invokeTask @ localhost:4200/polyfills.js:4763
globalCallback @ localhost:4200/polyfills.js:4806
globalZoneAwareCallback @ localhost:4200/polyfills.js:4827
load (async)
customScheduleGlobal @ localhost:4200/polyfills.js:4911
scheduleTask @ localhost:4200/polyfills.js:3508
onScheduleTask @ localhost:4200/polyfills.js:3398
scheduleTask @ localhost:4200/polyfills.js:3501
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleEventTask @ localhost:4200/polyfills.js:3362
(anonymous) @ localhost:4200/polyfills.js:5066
(anonymous) @ localhost:4200/vendor.js:22188
(anonymous) @ localhost:4200/vendor.js:31431
(anonymous) @ localhost:4200/vendor.js:84638
_trySubscribe @ localhost:4200/vendor.js:39405
(anonymous) @ localhost:4200/vendor.js:39399
errorContext @ localhost:4200/vendor.js:43482
subscribe @ localhost:4200/vendor.js:39390
doInnerSub @ localhost:4200/vendor.js:41493
outerNext @ localhost:4200/vendor.js:41488
OperatorSubscriber._next @ localhost:4200/vendor.js:40850
next @ localhost:4200/vendor.js:39763
(anonymous) @ localhost:4200/vendor.js:40590
_trySubscribe @ localhost:4200/vendor.js:39405
(anonymous) @ localhost:4200/vendor.js:39399
errorContext @ localhost:4200/vendor.js:43482
subscribe @ localhost:4200/vendor.js:39390
mergeInternals @ localhost:4200/vendor.js:41524
(anonymous) @ localhost:4200/vendor.js:41564
(anonymous) @ localhost:4200/vendor.js:43786
(anonymous) @ localhost:4200/vendor.js:39394
errorContext @ localhost:4200/vendor.js:43482
subscribe @ localhost:4200/vendor.js:39390
(anonymous) @ localhost:4200/vendor.js:41270
(anonymous) @ localhost:4200/vendor.js:43786
(anonymous) @ localhost:4200/vendor.js:39394
errorContext @ localhost:4200/vendor.js:43482
subscribe @ localhost:4200/vendor.js:39390
(anonymous) @ localhost:4200/vendor.js:41410
(anonymous) @ localhost:4200/vendor.js:43786
(anonymous) @ localhost:4200/vendor.js:39394
errorContext @ localhost:4200/vendor.js:43482
subscribe @ localhost:4200/vendor.js:39390
(anonymous) @ localhost:4200/vendor.js:40088
ZoneAwarePromise @ localhost:4200/polyfills.js:4542
lastValueFrom @ localhost:4200/vendor.js:40085
loadConfig @ localhost:4200/main.js:1213
(anonymous) @ localhost:4200/main.js:1223
runInitializers @ localhost:4200/vendor.js:110365
(anonymous) @ localhost:4200/vendor.js:111720
_callAndReportToErrorHandler @ localhost:4200/vendor.js:111828
(anonymous) @ localhost:4200/vendor.js:111718
invoke @ localhost:4200/polyfills.js:3487
onInvoke @ localhost:4200/vendor.js:111144
invoke @ localhost:4200/polyfills.js:3486
run @ localhost:4200/polyfills.js:3249
run @ localhost:4200/vendor.js:110998
bootstrapModuleFactory @ localhost:4200/vendor.js:111697
(anonymous) @ localhost:4200/vendor.js:111750
invoke @ localhost:4200/polyfills.js:3487
run @ localhost:4200/polyfills.js:3249
(anonymous) @ localhost:4200/polyfills.js:4390
invokeTask @ localhost:4200/polyfills.js:3521
runTask @ localhost:4200/polyfills.js:3293
drainMicroTaskQueue @ localhost:4200/polyfills.js:3700
Promise.then (async)
nativeScheduleMicroTask @ localhost:4200/polyfills.js:3676
scheduleMicroTask @ localhost:4200/polyfills.js:3687
scheduleTask @ localhost:4200/polyfills.js:3511
scheduleTask @ localhost:4200/polyfills.js:3336
scheduleMicroTask @ localhost:4200/polyfills.js:3356
scheduleResolveOrReject @ localhost:4200/polyfills.js:4380
then @ localhost:4200/polyfills.js:4565
bootstrapModule @ localhost:4200/vendor.js:111750
14431 @ localhost:4200/main.js:8996
webpack_require @ localhost:4200/runtime.js:23
webpack_exec @ localhost:4200/main.js:9004
(anonymous) @ localhost:4200/main.js:9005
webpack_require.O @ localhost:4200/runtime.js:60
(anonymous) @ localhost:4200/main.js:9006
webpackJsonpCallback @ localhost:4200/runtime.js:304
(anonymous) @ localhost:4200/main.js:2

@sameerag
Copy link
Member

@joserhonFA The RT issued for MSAL JS is typically valid for 24 hrs which I see is reflected in your app's behavior. If you select KMSI, it is expected that the RT can be renewed offline, as long as the session is kept active on the service end. Looks like in this case, the silent call is failing.

We provision folks to set up a cacheLookupPolicy that will make a network call silently to be able to keep the session hydrated. Can you please check the docs on token lifetimes and please apply the policy as needed?

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Author Feedback Awaiting response from issue author and removed Needs: Attention 👋 Awaiting response from the MSAL.js team labels Jul 31, 2023
@joserhonFA
Copy link
Author

@sameerag thanks for your reply. So if I'm understanding that correctly, the msal interceptor doesn't handle that by default. I need to check if the silent call fails after 24 hours and then call the acquireTokenSilent() with the correct cacheLookupPolicy to be able to refresh the refresh token?

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Attention 👋 Awaiting response from the MSAL.js team and removed Needs: Author Feedback Awaiting response from issue author labels Jul 31, 2023
@sameerag sameerag assigned hectormmg and unassigned sameerag Jul 31, 2023
@microsoft-github-policy-service
Copy link
Contributor

This issue requires attention from the MSAL.js team and has not seen activity in 5 days. @hectormmg please follow up.

@hectormmg
Copy link
Member

@joserhonFA the defaut tcache lookup policy does what @sameerag described above. It will attempt to renew the expired refresh token silently if the session is still alive and MSAL has enough session data (loginHint or sid which are obtained from the ID token) to make the request silently. However, if the session is terminated (doesn't exist at the time of the request) or the session data is unavailable (because the ID token claims sid or loginHint aren't enabled), that request will fail and MSAL will throw an InteractionRequired error, which your application has to catch and call an interactive API (have the user log in again).

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Author Feedback Awaiting response from issue author and removed Needs: Attention 👋 Awaiting response from the MSAL.js team labels Aug 6, 2023
@joserhonFA
Copy link
Author

@hectormmg but in my case the request is failing after 24 hours when the refresh token expired. I am able to see that there is an account in the msal instance, but I don't understand why the refresh token is not being refreshed and I don't think the session is terminated.
How do I enable the id token claims sid or loginHint in the session data ?
Or if there is something, could you point me base on the code snippet I provided what is missing to make the keep me signed in to work please?

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Attention 👋 Awaiting response from the MSAL.js team and removed Needs: Author Feedback Awaiting response from issue author labels Aug 7, 2023
@hectormmg
Copy link
Member

@joserhonFA please look at the docs on SSO for more information.

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Author Feedback Awaiting response from issue author and removed Needs: Attention 👋 Awaiting response from the MSAL.js team labels Aug 7, 2023
@joserhonFA
Copy link
Author

@hectormmg I set up the loginHint in the request but I get an error:

ServerError: server_error: AADB2C: Invalid input: The email field is required.
Correlation ID: 6c5a22f2-2954-40f7-b54c-70c9ac407cc1
Timestamp: 2023-08-08 14:31:02Z

at ServerError.AuthError [as constructor] (AuthError.js:27:1)
at new ServerError (ServerError.js:16:1)
at ResponseHandler.validateServerAuthorizationCodeResponse (ResponseHandler.js:57:1)
at AuthorizationCodeClient.handleFragmentResponse (AuthorizationCodeClient.js:97:1)
at SilentHandler.<anonymous> (InteractionHandler.js:41:1)
at step (_tslib.js:75:1)
at Object.next (_tslib.js:56:46)
at _tslib.js:49:1
at new ZoneAwarePromise (zone.js:1427:1)
at __awaiter (_tslib.js:45:1)
at InteractionHandler.handleCodeResponseFromHash (InteractionHandler.js:27:25)
at SilentIframeClient.<anonymous> (SilentIframeClient.js:130:1)
at step (_tslib.js:75:1)
at Object.next (_tslib.js:56:46)
at fulfilled (_tslib.js:46:43)
at _ZoneDelegate.invoke (zone.js:372:1)
at Object.onInvoke (core.mjs:25608:1)
at _ZoneDelegate.invoke (zone.js:371:1)
at Zone.run (zone.js:134:1)
at zone.js:1275:1
at _ZoneDelegate.invokeTask (zone.js:406:1)
at Object.onInvokeTask (core.mjs:25595:1)
at _ZoneDelegate.invokeTask (zone.js:405:1)
at Zone.runTask (zone.js:178:1)
at drainMicroTaskQueue (zone.js:585:1)
at invokeTask (zone.js:491:1)
at ZoneTask.invoke (zone.js:476:1)
at data.args.<computed> (zone.js:2358:1)

instrument.js:107

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Attention 👋 Awaiting response from the MSAL.js team and removed Needs: Author Feedback Awaiting response from issue author labels Aug 8, 2023
@tnorling
Copy link
Collaborator

First of all, you should only use ssoSilent if you do not already have an account object. Use acquireTokenSilent for most cases as this will utilize cache and refresh token.

As for the error when you expect the session is still valid - Is your browser blocking 3P cookies? It's unfortunately one of the downsides of the ssoSilent flow (and the last leg of acquireTokenSilent when the RT is expired). With more and more browsers starting to block 3P cookies by default we expect ssoSilent to become less and less successful

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Author Feedback Awaiting response from issue author and removed Needs: Attention 👋 Awaiting response from the MSAL.js team labels Aug 15, 2023
@joserhonFA
Copy link
Author

@tnorling I added the ssoSilent call after @hectormmg said I should use that.
I am using the MSALGuard and MSALInterceptor but I haven't been able to make the Keep me Signed In functionality to work, or that only works if the browser enables 3P cookies?.
What you say is that I should use acquireTokenSilent instead? should I use the same payload as the ssoSilent? which is:

const request = {
          scopes: ['scope_url'],
          loginHint: this.activeAccount.username
        };

That call is correctly placed when the Event ACQUIRE_TOKEN_FAILURE occurs?
I think I have tried using the acquireTokenSilent method before at some point but I can try again or maybe move the call to a different place if that's the case.

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Attention 👋 Awaiting response from the MSAL.js team and removed Needs: Author Feedback Awaiting response from issue author labels Aug 15, 2023
@tnorling
Copy link
Collaborator

Apologies for the confusion.

That call is correctly placed when the Event ACQUIRE_TOKEN_FAILURE occurs?

acquireTokenSilent will invoke ssoSilent under the hood, if needed. Invoking ssoSilent (or acquireTokenSilent for that matter) again on a failure is redundant and not expected to succeed.

should I use the same payload as the ssoSilent?

The request object is fine, though it's usually better to pass the entire account if you have it rather than loginHint i.e.

const request = {
  scopes: ['scope_url'],
  account: this.activeAccount
}

that only works if the browser enables 3P cookies?.

If 3P cookies are blocked, ssoSilent will fail 100% of the time. acquireTokenSilent will still be able to retrieve tokens from the cache and exchange a refresh token for new access tokens, but as soon as the refresh token expires (24 hrs) you will need to invoke interaction again.

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Author Feedback Awaiting response from issue author and removed Needs: Attention 👋 Awaiting response from the MSAL.js team labels Aug 15, 2023
@joserhonFA
Copy link
Author

@tnorling thanks for the clarification and quick response.
I guess I'm still confused on where I should call acquireTokenSilent? or it's not needed at all if I'm using MSALInterceptor?

If 3P cookies are blocked, ssoSilent will fail 100% of the time. acquireTokenSilent will still be able to retrieve tokens from the cache and exchange a refresh token for new access tokens, but as soon as the refresh token expires (24 hrs) you will need to invoke interaction again.

When you say I need to invoke interaction again it means that the user has to login again, entering credentials even if they checked they checked the Keep Me Signed In box?
Or calling acquireTokenRedirect() should refresh the refresh token without making the user to enter credentials again?

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Attention 👋 Awaiting response from the MSAL.js team and removed Needs: Author Feedback Awaiting response from issue author labels Aug 16, 2023
@tnorling
Copy link
Collaborator

I guess I'm still confused on where I should call acquireTokenSilent? or it's not needed at all if I'm using MSALInterceptor?

The MSALInterceptor invokes acquireTokenSilent under the hood. You do not need to invoke it directly if you are using the interceptor.

When you say I need to invoke interaction again it means that the user has to login again, entering credentials even if they checked they checked the Keep Me Signed In box?
Or calling acquireTokenRedirect() should refresh the refresh token without making the user to enter credentials again?

Whether the user needs to interact with the page or not and what sort of interaction they need to provide is decided by the STS based on a number of factors, including but not limited, to KMSI. In an ideal scenario, yes, the redirect can complete without requiring the user to re-enter their credentials, but it is never guaranteed.

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Author Feedback Awaiting response from issue author and removed Needs: Attention 👋 Awaiting response from the MSAL.js team labels Aug 16, 2023
@joserhonFA
Copy link
Author

@tnorling I see what you mean and I appreciate all the clarifications you have provided, but now I'm kind of back to the beginning of my initial question here. Because I have the KMSI option activated in b2C and when I log in I can see that the cookie expiration date is after 3 days (that's the time I set up in b2c).
image

So I'm not sure what needs to happen in order to make this work. After the refresh token is expired I'm always redirected to the login page no matter what and I have to re enter their credentials.

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Attention 👋 Awaiting response from the MSAL.js team and removed Needs: Author Feedback Awaiting response from issue author labels Aug 16, 2023
@tnorling
Copy link
Collaborator

Unfortunately, that's a question the MSAL.js team is not going to be able to answer. Like I said before, whether you are prompted for credentials depends on many factors, KMSI on its own does not guarantee you will be able to sign back in silently. You can open a support ticket with B2C and they should be able to help you figure out which condition is causing the re-auth. They will likely need a network trace so have that ready to go to expedite the process.

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Author Feedback Awaiting response from issue author and removed Needs: Attention 👋 Awaiting response from the MSAL.js team labels Aug 16, 2023
@joserhonFA
Copy link
Author

thanks @tnorling I appreciate your help. I'll do that

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Attention 👋 Awaiting response from the MSAL.js team and removed Needs: Attention 👋 Awaiting response from the MSAL.js team labels Aug 16, 2023
@microsoft-github-policy-service microsoft-github-policy-service bot removed the Needs: Author Feedback Awaiting response from issue author label Aug 16, 2023
@BrandonSchreck
Copy link

thanks @tnorling I appreciate your help. I'll do that

Can you link the ticket with Azure B2C here? I'm having a similar issue.

@joserhonFA
Copy link
Author

@BrandonSchreck you can find the ticket here (https://learn.microsoft.com/en-us/answers/questions/1346866/ad-b2c-keep-me-signed-in-not-working?comment=answer-1302254&page=1#comment-1353510), although it was not helpful. My issue was solved after I switched to use custom policies because the email was not being passed to my api connector when refreshing the refresh token.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
b2c Related to Azure B2C library-specific issues bug-unconfirmed A reported bug that needs to be investigated and confirmed msal-angular Related to @azure/msal-angular package msal-browser Related to msal-browser package public-client Issues regarding PublicClientApplications question Customer is asking for a clarification, use case or information.
Projects
None yet
Development

No branches or pull requests

6 participants