redirect_uri pour rendre 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’intègrent aucun mécanisme permettant de garantir que l’application qui reçoit la redirection est bien celle prévue. Dans ce scénario, des applications malveillantes usurpent l’identité d’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 de l’existence d’une session légitime antérieure, auquel cas aucune interaction supplémentaire de l’utilisateur n’est nécessaire. PKCE n’aide pas vraiment dans ce type de scénario, puisque l’application malveillante peut lancer le flux de connexion et attendre de recevoir le callback sans interaction de l’utilisateur.
Les applications exécutées sur une machine locale (p. ex., les applications de bureau, les CLI) qui utilisent l’interface de bouclage pour les callbacks (p. ex., http://127.0.0.1:51089/callback ou http://localhost:61024/callback) sont exposées à un risque similaire. Dans ce cas, une autre application sur la même machine pourrait écouter sur le même port afin d’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 réceptrice dans l’un ou l’autre scénario.
Mesures d’atténuation recommandées pour les applications mobiles
URI HTTPS associées (liens universels / liens d’application)
- Liens universels sur iOS
- Liens d’application sur Android
Auth0 recommande fortement d’utiliser des URI HTTPS associé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 des URI HTTPS associé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). - Aucun autre écran n’a été présenté à l’utilisateur dans la transaction de connexion en cours (par exemple, lorsqu’un écran de consentement s’affiche pour des applications tierces, ou lorsque MFA est requis).

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 le bouton bascule pour activer l’invite, ou désactivez-le pour la désactiver.

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