> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.generaltranslation.app/llms.txt
> Use this file to discover all available pages before exploring further.

> Learn how you can enhance security and mitigate risks of application impersonation with HTTPS-based callbacks.

# Migrate to Non-Verifiable Callback URI End-User Confirmation

Auth0 recommends the transition to HTTPS-based callbacks using [Android App Links](https://developer.android.com/training/app-links#android-app-link) and [Apple Universal Links](https://developer.apple.com/documentation/xcode/allowing-apps-and-websites-to-link-to-your-content) whenever possible for all native applications using the [Authorization Code Flow](/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce) to enhance security and mitigate risks of application impersonation and phishing attacks. In addition, Auth0 is introducing a change in how the service handles custom URI schemes.

More specifically, for authentication requests specifying a custom URI scheme as the callback, a login confirmation prompt can now be used in scenarios that would previously return a response without requiring user interaction. For example, in a single sign-on (SSO) scenario, if authentication request requirements can be satisfied from an existing authenticated session, the service will display the new login confirmation prompt instead of seamlessly returning a response to the specified custom URI scheme/loopback URI callback. Review the User Confirmation Prompt section [Measures Against Application Impersonation](/docs/secure/security-guidance/measures-against-app-impersonation) to learn more about the new prompt.

For tenants who predate the availability of the new functionality, the previous behavior will remain the default until April 28th, 2026 to prevent an unexpected behavior change. However, it is strongly recommended that you opt-in before this date to use the new behavior for those tenants. Alternatively, you can opt out of using the additional confirmation prompt if strictly required.

## How are you affected?

End-users logging in to client applications that already specify or plan to specify a custom URI scheme or loopback URI callback may be required to explicitly confirm the login by interacting with the new login confirmation prompt. Your end-users may perceive this change as a declining user experience.

Additionally, authentication requests including `prompt=none` will be rejected when Applications use non-verifiable callback URIs and are configured to use the new login confirmation prompt.

## Actions

**Auth0 strongly recommends transitioning to HTTPS-based callbacks** using Android App Links and Apple Universal Links whenever possible for all native applications using the Authorization Code Flow.

Furthermore, in tenants where the default behavior changes after April 28th, 2026, you should explicitly select the behavior you require for authentication requests using custom URI schemes or loopback URI callbacks ahead of the system default change.

### Review whether your applications are using Non-Verifiable Callback URIs

In tenants for which the Unconfirmed Login with Non-Verifiable Callback URI Redirects migration toggle is available and in an enabled state, authentication requests specifying a custom URI scheme or loopback URI **will generate a deprecation notice tenant log** unless you have explicitly set the following option at the application or tenant level:

`skip_non_verifiable_callback_uri_confirmation_prompt`

These tenant logs contain the client identifier of the application performing the request. You can monitor these tenant logs through the Auth0 Dashboard using the following query:

```bash theme={null}
type:depnotetype:depnote AND description:Unconfirmed\ Login\ with\ Non-Verifiable\ Callback\ URI\ Redirects*
```

### Opt in to new login confirmation prompt

To opt-in to the new login confirmation prompt ahead of time and enhance security for authentication flows using custom URI schemes or loopback URIs, complete the following steps through your Auth0 Dashboard:

1. Navigate to [**Auth0 Dashboard > Tenant Settings > Advanced**](https://manage.auth0.com/#/tenant/advanced).
2. In the **Migrations** section, turn off the **Unconfirmed Login with Non-Verifiable Callback URI Redirects** toggle.

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/md6b8ua1hdYa2pM7/docs/images/cdy7uua7fh8z/unconfirmed-login-uri.png?fit=max&auto=format&n=md6b8ua1hdYa2pM7&q=85&s=ac49c2b730a4c5c30cea0827341bfaf0" alt="Auth0 Dashboard > Tenant Settings > Advanced > toggle off" data-og-width="502" width="502" data-og-height="128" height="128" data-path="docs/images/cdy7uua7fh8z/unconfirmed-login-uri.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/generaltranslationinc/md6b8ua1hdYa2pM7/docs/images/cdy7uua7fh8z/unconfirmed-login-uri.png?w=280&fit=max&auto=format&n=md6b8ua1hdYa2pM7&q=85&s=37812b2e73ff52901eb70da0d0e3f732 280w, https://mintcdn.com/generaltranslationinc/md6b8ua1hdYa2pM7/docs/images/cdy7uua7fh8z/unconfirmed-login-uri.png?w=560&fit=max&auto=format&n=md6b8ua1hdYa2pM7&q=85&s=7fb77125abbd1113432cfa6ab0d4464e 560w, https://mintcdn.com/generaltranslationinc/md6b8ua1hdYa2pM7/docs/images/cdy7uua7fh8z/unconfirmed-login-uri.png?w=840&fit=max&auto=format&n=md6b8ua1hdYa2pM7&q=85&s=0bf779e16316c51d18e18d4031512f3d 840w, https://mintcdn.com/generaltranslationinc/md6b8ua1hdYa2pM7/docs/images/cdy7uua7fh8z/unconfirmed-login-uri.png?w=1100&fit=max&auto=format&n=md6b8ua1hdYa2pM7&q=85&s=d0e9c53dba1cc1e7833e36d455cc16d1 1100w, https://mintcdn.com/generaltranslationinc/md6b8ua1hdYa2pM7/docs/images/cdy7uua7fh8z/unconfirmed-login-uri.png?w=1650&fit=max&auto=format&n=md6b8ua1hdYa2pM7&q=85&s=0e4847337509b029d27ac18f218c268a 1650w, https://mintcdn.com/generaltranslationinc/md6b8ua1hdYa2pM7/docs/images/cdy7uua7fh8z/unconfirmed-login-uri.png?w=2500&fit=max&auto=format&n=md6b8ua1hdYa2pM7&q=85&s=977d0385ee17548431d3af91bd571240 2500w" />
</Frame>

### Opt out of new login confirmation prompt

If, after evaluating the security considerations, you decide against using the new login confirmation prompt, you can configure specific applications or the whole tenant to opt out of the new behavior. You can do so through your Auth0 Dashboard.

The application-level setting takes precedence over the tenant-level setting. Ensure you configure application-specific settings before changing the tenant-level setting to avoid unintended behavior changes. For example, you may want to skip the Non-Verifiable Callback URI End-User Confirmation for some specific applications while, by default, showing it for other applications, or vice versa.

To opt out for specific applications:

1. Navigate to [Auth0 Dashboard > Applications > Settings > Advanced Settings > OAuth](https://manage.auth0.com/applications/settings).
2. Locate and disable the **Non-Verifiable Callback URI End-User Confirmation** toggle and select **Save**. You may need to **Override the tenant setting** to allow permanently managing this configuration.

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/GMqg_oKRfWVB3GIg/docs/images/cdy7uua7fh8z/custom-uri-override.png?fit=max&auto=format&n=GMqg_oKRfWVB3GIg&q=85&s=2a439951f06eec606cd62ff673ae099a" alt="Auth0 Dashboard > Applications > Settings > Advanced" data-og-width="602" width="602" data-og-height="227" height="227" data-path="docs/images/cdy7uua7fh8z/custom-uri-override.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/generaltranslationinc/GMqg_oKRfWVB3GIg/docs/images/cdy7uua7fh8z/custom-uri-override.png?w=280&fit=max&auto=format&n=GMqg_oKRfWVB3GIg&q=85&s=de50bf7222a3d002f75820462cc042a5 280w, https://mintcdn.com/generaltranslationinc/GMqg_oKRfWVB3GIg/docs/images/cdy7uua7fh8z/custom-uri-override.png?w=560&fit=max&auto=format&n=GMqg_oKRfWVB3GIg&q=85&s=7a7bb5f203d44e63bad0c31649184c16 560w, https://mintcdn.com/generaltranslationinc/GMqg_oKRfWVB3GIg/docs/images/cdy7uua7fh8z/custom-uri-override.png?w=840&fit=max&auto=format&n=GMqg_oKRfWVB3GIg&q=85&s=fbdfc3ff09f1e0bc04c4969976eed442 840w, https://mintcdn.com/generaltranslationinc/GMqg_oKRfWVB3GIg/docs/images/cdy7uua7fh8z/custom-uri-override.png?w=1100&fit=max&auto=format&n=GMqg_oKRfWVB3GIg&q=85&s=cee46c89ab26eae4cc5bf4682c6fa4c0 1100w, https://mintcdn.com/generaltranslationinc/GMqg_oKRfWVB3GIg/docs/images/cdy7uua7fh8z/custom-uri-override.png?w=1650&fit=max&auto=format&n=GMqg_oKRfWVB3GIg&q=85&s=b8dbf53f6c9d87ef168c80b9ce74f89b 1650w, https://mintcdn.com/generaltranslationinc/GMqg_oKRfWVB3GIg/docs/images/cdy7uua7fh8z/custom-uri-override.png?w=2500&fit=max&auto=format&n=GMqg_oKRfWVB3GIg&q=85&s=97f157c3dd8583d8925881eb833ea05e 2500w" />
</Frame>

To opt out for the whole tenant:

1. Navigate to [Auth0 Dashboard > Tenant Settings > Advanced](https://manage.auth0.com/tenant/advanced).
2. Locate and disable the **Non-Verifiable Callback URI End-User Confirmation** toggle within the **Login and Logout** section and select **Save**. You may need to **turn the setting on** to allow permanently managing this configuration.

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/GMqg_oKRfWVB3GIg/docs/images/cdy7uua7fh8z/migrate-uri-setting.png?fit=max&auto=format&n=GMqg_oKRfWVB3GIg&q=85&s=d0424af059c19ed81d65f054e11ba38b" alt="Auth0 Dashboard > Tenant Settings > Advanced" data-og-width="552" width="552" data-og-height="173" height="173" data-path="docs/images/cdy7uua7fh8z/migrate-uri-setting.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/generaltranslationinc/GMqg_oKRfWVB3GIg/docs/images/cdy7uua7fh8z/migrate-uri-setting.png?w=280&fit=max&auto=format&n=GMqg_oKRfWVB3GIg&q=85&s=703b96dd0abfef889f5e26eaac08a9a8 280w, https://mintcdn.com/generaltranslationinc/GMqg_oKRfWVB3GIg/docs/images/cdy7uua7fh8z/migrate-uri-setting.png?w=560&fit=max&auto=format&n=GMqg_oKRfWVB3GIg&q=85&s=7c9dd4ca0c6e4269b33f5bff8f01b7bd 560w, https://mintcdn.com/generaltranslationinc/GMqg_oKRfWVB3GIg/docs/images/cdy7uua7fh8z/migrate-uri-setting.png?w=840&fit=max&auto=format&n=GMqg_oKRfWVB3GIg&q=85&s=59b2aaa600230264cccb8e99e245d2b8 840w, https://mintcdn.com/generaltranslationinc/GMqg_oKRfWVB3GIg/docs/images/cdy7uua7fh8z/migrate-uri-setting.png?w=1100&fit=max&auto=format&n=GMqg_oKRfWVB3GIg&q=85&s=478a946d0119a9abe7ef856381ac6206 1100w, https://mintcdn.com/generaltranslationinc/GMqg_oKRfWVB3GIg/docs/images/cdy7uua7fh8z/migrate-uri-setting.png?w=1650&fit=max&auto=format&n=GMqg_oKRfWVB3GIg&q=85&s=cc03003f3c7478c8efb59994d51fbae1 1650w, https://mintcdn.com/generaltranslationinc/GMqg_oKRfWVB3GIg/docs/images/cdy7uua7fh8z/migrate-uri-setting.png?w=2500&fit=max&auto=format&n=GMqg_oKRfWVB3GIg&q=85&s=b31504b16ab26eb3e4bab26ada25a7e7 2500w" />
</Frame>

The Unconfirmed Login with Non-Verifiable Callback URI Redirects migration toggle only applies to tenants who predate the availability of the new confirmation prompt feature.This toggle can only be configured through the Auth0 Dashboard.

Apart from the migration toggle, you can also configure the required tenant behavior via Auth0 Management API. In particular, you can perform the configuration at two levels:

* **Tenant-Level Configuration**: You can manage the confirmation prompt behavior by setting the `skip_non_verifiable_callback_uri_confirmation_prompt` property via the [Update Tenant Settings](https://auth0.com/docs/api/management/v2#!/Tenants/patch_settings) endpoint.​
* **Application-Level Configuration**: To override the tenant-level setting for specific applications, set the same `skip_non_verifiable_callback_uri_confirmation_prompt` property via the [Update Client](https://auth0.com/docs/api/management/v2#!/Clients/patch_clients_by_id) endpoint.

For additional information and guidance on configuring your applications, read [Measures Against Application Impersonation](/docs/secure/security-guidance/measures-against-app-impersonation).
