[expo-auth-session] Two app options on return to app

Please provide the following:

  1. SDK Version: 43.0.0
  2. Platforms(Android/iOS/web/all): Android
  3. Add the appropriate “Tag” based on what Expo library you have a question on.

Hello, I’m using expo-auth-session in the managed workflow to collect Instagram user data through its official API, it’s working fine on the development environment (through the “expo run:android” command), but once a build APK is created when the user makes the authorization process and the redirect starts there is a popup asking “Open with” and two options for my app, the first one works perfectly the second one goes back to the app but does nothing, I didn’t test on IOS.

Here is the image that represent it:

When I was developing I tried to do the google sign-in process but was stuck in the same error, partially resolved by implementing google native sign-in. I verified my schemes in app.json but didn`t identify wrong on it, as follows:

app.json:

{
    "expo": {
        "name": "Secreet",
        "slug": "secreet",
        "version": "1.0.0",
        "orientation": "portrait",
        "icon": "./assets/icon.png",
        "scheme": "com.davidtmiranda.secreet",
        "splash": {
            "image": "./assets/splash.png",
            "resizeMode": "contain",
            "backgroundColor": "#ffffff"
        },
        "updates": {
            "fallbackToCacheTimeout": 0
        },
        "assetBundlePatterns": ["**/*"],
        "ios": {
            "supportsTablet": true,
            "usesAppleSignIn": true,
            "bundleIdentifier": "com.davidtmiranda.secreet",
            "googleServicesFile": "./GoogleService-Info.plist",
            "config": {
                "googleSignIn": {
                    "reservedClientId": "com.googleusercontent.apps.--------------------"
                }
            }
        },
        "android": {
            "versionCode": 1,
            "adaptiveIcon": {
                "foregroundImage": "./assets/adaptive-icon.png",
                "backgroundColor": "#FFFFFF"
            },
            "package": "com.davidtmiranda.secreet",
            "googleServicesFile": "./google-services.json"
        },
        "web": {
            "favicon": "./assets/favicon.png"
        }
    }
}

also, my authSession code looks like this:

    webBrowser.maybeCompleteAuthSession();
    const useProxy = Platform.select({ web: false, default: true });

    const client_id = ---;
    const redirect_uri = "https://auth.expo.io/@davidtmiranda/secreet";
    const scope = "user_profile";

    const site =
        "https://api.instagram.com/oauth/authorize?client_id=" +
        client_id +
        "&redirect_uri=" +
        redirect_uri +
        "&scope=" +
        scope +
        "&response_type=code&state=1";

    const discovery = { authorizationEndpoint: site };

    const [request, response, promptAsync] = useAuthRequest(
        {
            redirectUri: makeRedirectUri({
                useProxy,
                native: redirect_uri,
            }),
            scopes: [scope],
            clientId: String(client_id),
        },
        discovery
    );

    useEffect(() => {
        if (response?.type === "success") {
       ...
        } 
    }, [response]);

    function GetInstagramID() {
        return promptAsync({
            useProxy,
        });
    }

Any suggestions about how to solve this problem? I believe it is schema-related but could not identify what is wrong.

I was able to work around this problem by following steps described on this github issue,
Additional discussion and workarounds for other specific cases with the same problem can be found on these links:
https://forums.expo.dev/t/app-appears-twice-on-open-with-list-after-google-auth/55659/8

https://github.com/expo/expo/issues/10860

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.