/passwordless/start depuis des applications confidentielles lorsqu’Auth0 ne peut pas confirmer que l’appel est effectué au nom de l’application.
utilise le terme « confidentiel » pour les applications qui peuvent stocker des secrets. Dans Auth0, il s’agit des « Applications Web régulières », qui servent des pages Web à partir d’une application backend. Les applications à page unique et les applications natives sont considérées comme des applications « publiques » et ne sont pas touchées par ce changement.
Auth0 peut authentifier les appels à /passwordless/start lorsqu’ils incluent un client_secret comme paramètre, ou lorsqu’ils proviennent de la page de connexion personnalisée dans Classic Login et transmettent le paramètre state.
Fonctionnalités concernées
/passwordless/start pour démarrer l’ à partir d’une application Web, et que vous n’envoyez pas le paramètre client_secret, cette dépréciation vous concerne.
Si vous mettez en œuvre l’authentification Passwordless au moyen de la page Classic Login et que vous avez modifié la méthode d’initialisation par défaut des bibliothèques Auth0, cela pourrait également vous concerner.
Vous pouvez vérifier si vous êtes concerné en consultant les journaux du locataire, en filtrant sur « Deprecation Notice », puis en recherchant des journaux indiquant « Enforce client authentication for passwordless connections ». Vous pouvez aussi effectuer cette recherche directement avec la requête suivante : type:depnote AND description:*passwordless*. Notez que cette requête précise ne fonctionnera que pour les locataires du cloud public, car les journaux du nuage privé ne peuvent pas être recherchés dans le champ description.
Actions
/passwordless/start sans authentification appropriée de l’application, vous devez :
- Suivre les instructions ci-dessous pour ajuster le code afin d’appeler correctement
/passwordless/start. - Vérifier les journaux du locataire pour confirmer que la modification a été effectuée correctement et qu’aucun journal de dépréciation n’est généré pour « Enforce client authentication for passwordless connections ».
- Dans la section Migrations de Paramètres du locataire > Avancé, activez le bouton bascule Enforce client authentication for passwordless connections.
Appels d’API depuis le backend
/passwordless/start, votre appel doit inclure le comme paramètre.
Si vous envoyez directement une requête POST à /passwordless/start, incluez client_secret dans le payload :
Si vous utilisez un SDK, ajoutez le paramètre à la méthode qui lance le flux Passwordless. Cette opération diffère selon le SDK, et tous les SDK n’ont pas encore été mis à jour. Si vous utilisez un SDK qui n’a pas été mis à jour, vous pouvez effectuer l’appel HTTP directement en attendant que cette mise à jour soit effectuée.
Auth0.js ou Lock.js dans la page Classic Login
/passwordless/start, à l’aide de Lock.js ou d’Auth0.js.
Comme vous ne pouvez pas stocker un Secret client dans une page Web, la façon d’authentifier l’appel consiste à transférer le paramètre state reçu dans la page Classic Login vers le point de terminaison /passwordless/start. Ce paramètre est stocké dans le champ config.internalOptions de la page de connexion personnalisée.
Les modèles par défaut servant à personnaliser la page de connexion l’utilisent de la manière suivante lors de l’initialisation de Lock.js ou d’auth0.js :
Appeler /passwordless/start côté client dans une application Web
/passwordless/start à partir d’une page qui utilise JavaScript (par exemple, avec Auth0.js sur la page) dans une application Web classique, vous ne pourrez pas spécifier de Secret client dans un appel effectué en JavaScript. Si c’est le cas pour votre application, vous devrez la modifier pour que /passwordless/start soit appelé depuis le backend de votre application Web plutôt que depuis le frontend.
Limites de débit
/passwordless/start permet à Auth0 de faire confiance aux en-têtes envoyés avec la requête. Si vous définissez l’en-tête auth0-forwarded-for, l’adresse IP apparaîtra dans les journaux et sera utilisée à des fins de .
Les requêtes authentifiées vers /passwordless/start seront traitées comme des requêtes authentifiées standard vers l’API, et la limite de débit globale correspondante de l’Authentication API s’appliquera.