BrowserAuthError: monitor_window_timeout in react-spa example application

Open
#108 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
javascript, react

Research direction

Start with the react-spa example application and reproduce the flow after the refresh token expires: sign in, wait, then use the “Request Token” button. Review the BrowserAuthError monitor_window_timeout and InteractionRequiredAuthError outcomes in the browser logs; done means the documented expected token or interaction-required result occurs consistently.

Written by the indexing model from the issue text.

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.

Dominant language
JavaScript
Stars
63
Forks
63
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

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

All issues in Azure-Samples/ms-identity-docs-code-javascript

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.