Expo SDK: 46.0.16
Platforms: Android/iOS
Workflow: Managed
Identity provider: Azure B2C
After having enabled useProxy: true
in expo auth session once I cannot disable it in development. It’s as if expo go has cached the redirect url. With useProxy: false
the values of request.redirectUri
and request.url
provided by useAuthRequest
shows the expected metro dev address and the authorisation url for my identity provider. When I call promptAsync()
it still opens a browser window for auth.expo.io. It happens on iOS and android equally.
I have tried
- deleting lockfile and node_modules and reinstalling
- restarting expo go with cleared cache:
npx expo start -c
. - clearing cache for my default mobile browser.
- uninstalling and reinstalling the expo go app
When this failed I attempted making a custom login prompt by using WebBrowser.openAuthSessionAsync()
and feeding it manually defined urls. This also opened the auth.expo.io proxy in expo go.
Even when doing an eas update
with the aforementioned custom web browser, the auth session would still use auth.expo.io in the new update. The updates are also run from expo go so I suspect the issue is with that app or some bundling service cache(?).
I am only able to login without the proxy when building a new .apk and installing it, which further strengthens evidence that it has to do with expo go and not the device’s browser.
I shouldn’t have to do this for every change I want to test in development just because my dev sessions aren’t able to authenticate (and I cannot simply enable proxy in development because of another issue caused by the app being owned by an organisation)
Has anyone else had this issue and found a solution?
Can any expo developer shed some light on what is going on here and if there is a solution?