Avant de commencer
- Pour des raisons de sécurité, l’URL d’origine de votre application doit faire partie de la liste des URL approuvées. Si vous ne l’avez pas déjà ajouté aux URL de rappel autorisées pour votre application, vous devrez l’ajouter à la liste Allowed Origins (CORS) (Origines autorisées).
- Assurez-vous que Origines Web autorisées dans l’affichage des **Settings (Paramètres)**de votre application est définie sur le domaine effectuant la requête. Les URL peuvent contenir des caractères génériques pour les sous-domaines, mais pas de chemins relatifs après l’URL du domaine. Pour en savoir plus, lisez Espaces réservés pour les sous-domaines.
- Si vous n’activez pas Domaines personnalisés, vous devrez créer une page de vérification qui utilise Auth0.js comme solution de secours pour l’authentification interorigine.
Configurer l’authentification cross-origin
- Rendez-vous à Dashboard > Applications > Applications et sélectionnez le nom de l’application que vous souhaitez afficher.
- Sous Authentification cross-origin, activez le bouton bascule Autoriser l’authentification cross-origin.
- Rendez-vous à Origines autorisées (CORS) et saisissez l‘URL d’origine de votre application. Pour en savoir plus sur les Origines, veuillez consulter Origines sur Mozilla MDN Web Docs.
- Cliquez sur Enregistrer les modifications.
Si vous n’avez pas besoin d’utiliser CORS pour votre application, assurez-vous que l’option Permettre l’authentification cross-origin est désactivée.
Créer une page de vérification cross-origin
Dans certains cas, les témoins de tiers ne sont pas pris en charge. Certaines versions de navigateur ne prennent pas en charge les témoins de tiers et, si elles le font, elles peuvent être désactivées dans les paramètres de l’utilisateur. Pour les navigateurs pris en charge, vous pouvez utiliser la méthodecrossOriginVerification
de la trousse SDK Auth0.js dans votre application sur une page dédiée pour gérer les cas où les témoins de tiers sont désactivés.
Pour les navigateurs qui ne sont pas pris en charge, tels que Chrome, Opera et Safari, l’authentification cross-origin ne fonctionnera pas lorsque les témoins de tiers sont désactivés, sauf si vous active les domaines personnalisés.
La configuration de Safari est intitulée « Empêcher le suivi multidomaine » et utilise Prévention intelligente du suivi. Malheureusement, cela empêche également les témoins tiers d’être utiles dans les scénarios d’authentification. Voici un exemple de l’impact sur le renouvellement des jetons.
-
Créez une page dans votre application qui instancie
WebAuth
depuis Auth0.js. Appelez immédiatementcrossOriginVerification
. Le titre de la page est à votre discrétion.Lorsque les témoins de tiers ne sont pas pris en charge, Auth0.js génère un iframe pour appeler un flux de vérification cross-origin différent. - Rendez-vous à Dashboard > Applications > Applications, et sélectionnez le nom de l’application que vous souhaitez afficher.
-
Sous Authentification cross-origin, ajoutez la page de rappel que vous avez créée au champ URL Vérification cross-origin de secours.
Pour les environnements de production, vérifiez que l’URL de la page ne pointe pas vers
localhost
. La page doit se trouver dans le même domaine que celui où est hébergé le formulaire de connexion intégré et doit comporter un schémahttps
. - Cliquez sur Enregistrer les modifications.
Codes d’erreur et descriptions
Les descriptions d’erreurs sont destinées à être lues par un être humain. Elles sont sujettes à modification à tout moment et ne doivent être analysées par aucun code.
/co/authenticate
, qui comporte les erreurs suivantes :
État | Code | Description |
---|---|---|
400 | invalid_request | Corps de requête non valide. Tous les paramètres uniquement du type client_id, credential_type, username, OTP et realm sont requis. |
400 | unsupported_credential_type | Paramètre de type d’identifiant inconnu. |
400 | invalid_request | Domaine inconnu, connexion-inexistante. |
401 | unauthorized_client | Connexion d’origine croisée non autorisée. |
401 | password_leaked | Cette tentative de connexion a été bloquée car le mot de passe que vous utilisez a été précédemment divulgué suite à une violation de données (pas dans cette application). |
403 | access_denied | Courriel ou mot de passe incorrect. |
403 | access_denied | Erreur d’authentification |
403 | blocked_user | Utilisateur bloqué |
429 | too_many_attempts | Votre compte a été bloqué après plusieurs tentatives de connexion consécutives. Nous vous avons envoyé une notification par votre méthode de contact préférée avec des instructions sur la façon de le débloquer. |
429 | too_many_attempts | Nous avons détecté un comportement de connexion suspect et les prochaines tentatives seront bloquées. Veuillez communiquer avec l’administrateur. |
403
générique sans propriété error
ou error_description
Le corps de la réponse n’incluerait que quelque chose de similaire à ce qui suit :
Origine https://test.app non permise.
Prise en charge des tests de navigateur
Les navigateurs suivants peuvent utiliser l’authentification cross-origin lorsque les témoins de tiers sont désactivés :- Microsoft Internet Explorer
Attributs des témoins samesite
Précédemment, les options des attributs de témoins
samesite
étaient true
, false
, strict
ou lax
. Si vous n’aviez pas défini l’attribut manuellement, Auth0 utilisait la valeur par défaut false
.Depuis en février 2020, Google Chrome v80 a modifié la manière de gérer les témoins, et Auth0 a implémenté les modifications suivantes :- La valeur des témoins dont l’attribut
samesite
n’a pas été défini seralax
. - Les témoins
sameSite=none
doivent être sécurisés, sinon ils ne peuvent pas être enregistrés dans le groupe de témoins du navigateur.