diff --git a/README.md b/README.md index eb238917..ac2b98e5 100644 --- a/README.md +++ b/README.md @@ -281,7 +281,7 @@ this redirect URI. We recommend using a custom scheme based redirect URI (i.e. those of form `my.scheme:/path`), as this is the most widely supported across all versions of -Android. To avoid conflicts with other apps, it is recommended to configure a +Android. To avoid conflicts with other apps, it is recommended to configure a distinct scheme using "reverse domain name notation". This can either match your service web domain (in reverse) e.g. `com.example.service` or your package name `com.example.app` or be something completely new as long as it's distinct @@ -290,15 +290,6 @@ possible if it contains illegal characters for URI schemes (like underscores) or if you already have another handler for that scheme - so just use something else. -When a custom scheme is used, AppAuth can be easily configured to capture -all redirects using this custom scheme through a manifest placeholder: - -```groovy -android.defaultConfig.manifestPlaceholders = [ - 'appAuthRedirectScheme': 'com.example.app' -] -``` - Alternatively, the redirect URI can be directly configured by adding an intent-filter for AppAuth's RedirectUriReceiverActivity to your AndroidManifest.xml: diff --git a/app/README-Google.md b/app/README-Google.md index 400e9e70..bfa588ce 100644 --- a/app/README-Google.md +++ b/app/README-Google.md @@ -28,8 +28,5 @@ } ``` -3. Finally, replace the `appAuthRedirectScheme` manifest placeholder in `build.gradle` (for Module: app) with - `com.googleusercontent.apps.PREFIX`. - After this is done, install the app (`./gradlew :app:installDebug`). Authorizing a Google account and retrieving user info should now work. diff --git a/app/README.md b/app/README.md index befcd884..94dd7e56 100644 --- a/app/README.md +++ b/app/README.md @@ -8,21 +8,15 @@ with an invalid configuration. The configuration file MUST contain a JSON object. The following properties can be specified: - `redirect_uri` (required): The redirect URI to use for receiving the authorization response. - This can either be a custom scheme URI (com.example.app:/oauth2redirect/example-provider) or - an https app link (https://www.example.com/path). Custom scheme URIs are better supported - across all versions of Android, however many authorization server implementations require an + This can either be a custom scheme URI (com.example.app:/oauth2redirect/example-provider) or + an https app link (https://www.example.com/path). Custom scheme URIs are better supported + across all versions of Android, however many authorization server implementations require an https URI. Consult the documentation for your authorization server. - The value specified here should match the value specified for `appAuthRedirectScheme` in the - `build.gradle` (Module: app), so that the demo app can capture the response. - - `end_session_redirect_uri` (required): The redirect URI to use for receiving the end session response. - This should be a custom scheme URI (com.example.app:/oauth2redirect/example-provider). - Consult the documentation for your authorization server. + This should be a custom scheme URI (com.example.app:/oauth2redirect/example-provider). + Consult the documentation for your authorization server. - The value specified here should match the value specified for `appAuthRedirectScheme` in the - `build.gradle` (Module: app), so that the demo app can capture the response. - NOTE: Scheme of the URI should be the same as `redirect_uri` but callback should be different. - `authorization_scope` (required): The scope string to use for the authorization request. diff --git a/app/build.gradle b/app/build.gradle index 69208857..65253479 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,12 +9,6 @@ android { applicationId 'net.openid.appauthdemo' project.archivesBaseName = 'appauth-demoapp' vectorDrawables.useSupportLibrary = true - - // Make sure this is consistent with the redirect URI used in res/raw/auth_config.json, - // or specify additional redirect URIs in AndroidManifest.xml - manifestPlaceholders = [ - 'appAuthRedirectScheme': 'net.openid.appauthdemo' - ] } signingConfigs { diff --git a/app/java/net/openid/appauthdemo/Configuration.java b/app/java/net/openid/appauthdemo/Configuration.java index 738dccf3..606f14cc 100644 --- a/app/java/net/openid/appauthdemo/Configuration.java +++ b/app/java/net/openid/appauthdemo/Configuration.java @@ -209,10 +209,7 @@ private void readConfiguration() throws InvalidConfigurationException { if (!isRedirectUriRegistered()) { throw new InvalidConfigurationException( - "redirect_uri is not handled by any activity in this app! " - + "Ensure that the appAuthRedirectScheme in your build.gradle file " - + "is correctly configured, or that an appropriate intent filter " - + "exists in your app manifest."); + "redirect_uri is not handled by any activity in this app!"); } if (getConfigString("discovery_uri") == null) { diff --git a/library/AndroidManifest.xml b/library/AndroidManifest.xml index 40982c43..f889fde4 100644 --- a/library/AndroidManifest.xml +++ b/library/AndroidManifest.xml @@ -23,14 +23,7 @@ android:theme="@style/Theme.AppCompat.Translucent.NoTitleBar" android:launchMode="singleTask" /> - - - - - - - - + diff --git a/library/java/net/openid/appauth/RedirectUriReceiverActivity.java b/library/java/net/openid/appauth/RedirectUriReceiverActivity.java index 50ca56bf..18cb5f85 100644 --- a/library/java/net/openid/appauth/RedirectUriReceiverActivity.java +++ b/library/java/net/openid/appauth/RedirectUriReceiverActivity.java @@ -23,14 +23,6 @@ * destroys the browser tab before returning the result to the completion * {@link android.app.PendingIntent} * provided to {@link AuthorizationService#performAuthorizationRequest}. - * - * App developers using this library must override the `appAuthRedirectScheme` - * property in their `build.gradle` to specify the custom scheme that will be used for - * the OAuth2 redirect. If custom scheme redirect cannot be used with the identity provider - * you are integrating with, then a custom intent filter should be defined in your - * application manifest instead. For example, to handle - * `https://www.example.com/oauth2redirect`: - * * ```xml * *