In environments where Single Sign-On (SSO) is used, your regular company browser has already obtained the necessary tokens by logging into one Microsoft app. In private sessions, you need to trigger the auth flow again for the tokens to be available. Different browsers (e.g., Chrome vs. Edge) may handle or prompt for authentication differently due to their native integration with enterprise SSO setups.
you can think it like this:
when you click the button in chrome for example, you trigger a HTTP GET method,
but your GET doesn't have valid token.
if cannot avoid that, unless you build the logic with the click event (post to get the token, then pass it to get). you have to register app in Azure AD to make that work.