openid/AppAuth-Android

Navigation is unreachable: com.psi.temp_package:/oauth2redirect/redirect

sakamahesh opened this issue · 1 comments

0

In My Project I am register the Implemented AppAuth for Authentication for some private lib. only project intent not getting called this activity but other lib is getting called internally when I debug the issue. I found the "Navigation is unreachable"

Not calling this intent-filter

   <activity
        android:name="net.openid.appauth.RedirectUriReceiverActivity"
        android:exported="true"
        tools:node="replace">
        <intent-filter>

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:scheme="@string/appAuthRedirectScheme" />
        </intent-filter>
    </activity>

in library there are another RedirectUriReceiverActivity registerd in there mainfest which i mentioned below.

this one is working correctly. but above one is not working.

    <activity
        android:name="net.openid.appauth.RedirectUriReceiverActivity"
        android:exported="true"
        tools:node="replace" >
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:scheme="unikey://" />
        </intent-filter>
    </activity>

only library redirection is working from the but app redirection giving the Navigation is unreachable error.

I have try with tools:node="merge" and "replace" but not working for me .

com.psi.tempmail:/oauth2redirect/redirect?code=temp_Code&scope=openid%20profile%20offline_access%20user_api.full_access&state=RrOZ4IycIz2kyUa4BN_Syg&session_state=temp_session_state

Although not a typical configuration it should work fine.
What you want in the end is tools:node="merge" which is also the default if you don't specify anything thus having both intent-filters.

Your issue judging by the details is that the data block is incorrect.
Keep in mind an URI looks like: <scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>|<pathAdvancedPattern>|<pathSuffix>] so your scheme is just the first part of an uri (e.g. http or ftp)

See more examples here https://developer.android.com/guide/topics/manifest/data-element