Azure-Samples / Azure-Samples/ms-identity-docs-code-javascript

BrowserAuthError: monitor_window_timeout in react-spa example application

Open
#108 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
62
Forks
63
PR merge metrics
No merged PRs in 30d

Description

> Please provide us with the following information:
> ---------------------------------------------------------------

### This issue is for a: (mark with an `x`)
```
- [ x] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)
```

### Minimal steps to reproduce
> When the project (react-spa) is ready to be debugged, start the application (e.g. debug in Visual Studio 2022). And as the application has started up then:

1) Sign in as a user
2) Wait until the refresh token expires.
3) Use the 'Request Token'- button to call Microsoft Graph.
4) As the result the problem may or may not occur.

### Any log messages given by the failure
> BrowserAuthError.ts:351 Uncaught (in promise) BrowserAuthError: monitor_window_timeout: Token acquisition in iframe failed due to timeout. For more visit: aka.ms/msaljs/browser-errors
at createBrowserAuthError (BrowserAuthError.ts:351:1)
at SilentHandler.ts:92:1
createBrowserAuthError @ BrowserAuthError.ts:351

### Expected/desired behavior
> After http 400 error a new token would be successfully be fetched in iFrame.

Or this particular application may work correctly if it returns:
:3000/#error=interaction_required&error_description=Session+information+is+not+sufficient+for+single-sign-on.

(InteractionRequiredAuthError: interaction_required: Session information is not sufficient for single-sign-on.)

### OS and Version?
> Windows 10,
### Versions
>

### Mention any other details that might be useful

The 'BrowserAuthError: monitor_window_timeout' does not necessarily occur every time the refresh token has expired. It may also work as expected.

I did save a log when the case was present: the first time it was the monitor_window_timeout that occurred. The second time the refresh token probably was correctly fetched as InteractionRequiredAuthError occurred. I tested this application due to I have used the similar approach to call APIs in my own React project. monitor_window_timeout is often occurring and I tried to run the most simple application with this approach to see is the problem is present.

> ---------------------------------------------------------------
> Thanks! We'll be in touch soon.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.