redirect_uri pour redonner le contrôle à l’application après la connexion. Une fois l’URI chargée dans le navigateur de l’appareil, l’application s’ouvre généralement automatiquement pour permettre à l’utilisateur de poursuivre son parcours.
Historiquement, les applications mobiles utilisaient des schémas d’URI personnalisés (p. ex., com.mycompany.myapp://oauth2redirect). Cependant, les schémas d’URI personnalisés présentent un risque, car plus d’une application sur l’appareil peut enregistrer le même schéma. Les systèmes d’exploitation mobiles n’offrent pas de mécanismes intégrés pour garantir que l’application qui reçoit la redirection est bien celle qui était visée. Dans ce scénario, des applications malveillantes se font passer pour des applications légitimes et reçoivent la réponse d’autorisation (y compris les jetons) à l’insu de l’utilisateur, surtout si l’authentification unique (SSO) est active en raison d’une session légitime existante, auquel cas aucune interaction supplémentaire de l’utilisateur n’est requise. PKCE n’est pas vraiment utile dans ces scénarios, puisque l’application malveillante peut lancer le flux de connexion et attendre de recevoir le rappel sans interaction de l’utilisateur.
Les applications qui s’exécutent sur une machine locale (p. ex., des applications de bureau, des CLI) utilisent l’interface de bouclage pour les URI de rappel (p. ex., http://127.0.0.1:51089/callback ou http://localhost:61024/callback) et sont exposées à un risque semblable. Dans ce cas, une autre application sur la même machine pourrait écouter sur le même port pour intercepter la réponse.
Nous désignons à la fois les schémas d’URI personnalisés et les URI de bouclage comme des URI de rappel non vérifiables, car le serveur d’autorisation ne peut pas vérifier l’application qui les reçoit dans l’un ou l’autre de ces scénarios.
Mesures d’atténuation recommandées pour les applications mobiles
URI HTTPS revendiquées (Universal Links / App Links)
- Universal Links sur iOS
- App Links sur Android
Auth0 recommande fortement d’utiliser des URI HTTPS revendiquées comme URI de redirection pour toutes les applications natives.
- Pour iOS : consultez Support Universal Links.
- Pour Android : consultez Android App Links.
Mesures d’atténuation recommandées pour toutes les applications
- Votre application ne peut pas prendre en charge les URI HTTPS revendiquées en raison de la compatibilité requise avec d’anciennes versions de systèmes d’exploitation mobiles
- Votre application est une application de bureau ou une application CLI
- Le
redirect_uriprésent dans la requête utilise un URI non vérifiable (c.-à-d. un schéma d’URI personnalisé ou un URI de bouclage). - L’utilisateur n’a vu aucun autre écran dans la transaction de connexion en cours (par exemple, lorsqu’un écran de consentement s’affiche pour les applications tierces, ou lorsqu’une MFA est requise).

Personnalisation de l’invite
- Accédez à Auth0 Dashboard > Applications > Paramètres de l’application > Avancé > OAuth.
- Faites défiler jusqu’au paramètre Non-Verifiable Callback URI End-User Confirmation.
- Activez la bascule pour activer l’invite, ou désactivez-la pour la désactiver.

- Accédez à Auth0 Dashboard > Paramètres > Avancé.
- Repérez le paramètre Non-Verifiable Callback URI End-User Confirmation.
- Activez la bascule pour activer l’invite.
