Avant de commencer
- Pour des raisons de sécurité, l’URL d’origine de votre application doit figurer parmi les URL approuvées. Si vous ne l’avez pas déjà ajoutée aux Allowed Callback URLs de votre application, vous devrez l’ajouter à la liste des origines autorisées (CORS).
- Assurez-vous que Allowed Web Origins dans la vue Settings de votre application est défini sur le domaine qui effectue la requête. Les URL peuvent contenir des caractères génériques pour les sous-domaines, mais elles ne peuvent pas contenir de chemins relatifs après l’URL du domaine. Pour en savoir plus, consultez 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 rechange pour l’authentification inter-origine.
Configurer l’authentification inter-origine
- Accédez à Auth0 Dashboard > Applications > Applications, puis cliquez sur le nom de l’application pour l’ouvrir.
- Sous Authentification inter-origine, activez Autoriser l’authentification inter-origine.
- Repérez Origines autorisées (CORS), puis saisissez l’URL d’origine de votre application. Pour en savoir plus sur les origines, consultez Origin dans Mozilla MDN Web Docs.
- Cliquez sur Save Changes.
Si vous n’avez pas besoin d’utiliser CORS pour votre application, assurez-vous que l’option Autoriser l’authentification inter-origine est désactivée.
Créer une page de vérification inter-origine
crossOriginVerification du SDK Auth0.js dans votre application, sur une page dédiée, pour gérer les cas où les témoins tiers sont désactivés.
Pour les navigateurs qui ne sont pas pris en charge, comme Chrome, Opera et Safari, l’authentification inter-origine ne fonctionnera pas lorsque les témoins tiers sont désactivés, à moins d’activer les Domaines personnalisés.
La configuration de Safari est libellée « Empêcher le suivi intersite » et utilise Intelligent Tracking Prevention. Malheureusement, cela empêche aussi les témoins tiers d’être utiles dans les scénarios d’authentification. Voici un exemple de l’effet que cela a sur le renouvellement des jetons.
- Créez une page dans votre application qui instancie
WebAuthà partir de Auth0.js. Appelez immédiatementcrossOriginVerification. Vous pouvez nommer la page comme vous le souhaitez.
- Cliquez sur Save Changes.
Codes d’erreur et descriptions
/co/authenticate, qui renvoie les erreurs suivantes :
| Statut | Code | Description |
|---|---|---|
400 | invalid_request | Corps de requête invalide. Tous les paramètres suivants, et eux seuls, sont requis : client_id, credential_type, username, otp et realm. |
400 | unsupported_credential_type | Paramètre de type d’identifiant inconnu. |
400 | invalid_request | realm inconnu : non-existent-connection. |
401 | unauthorized_client | Connexion inter-origine non autorisée. |
401 | password_leaked | Cette tentative de connexion a été bloquée, car le mot de passe que vous utilisez a déjà été divulgué dans le cadre d’une atteinte aux 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 à votre mode de contact privilégié avec des instructions pour le débloquer. |
429 | too_many_attempts | Nous avons détecté un comportement de connexion suspect, et toute nouvelle tentative sera bloquée. Veuillez communiquer avec l’administrateur. |
403 générique sans propriété error ni error_description. Le corps de la réponse inclurait simplement quelque chose de semblable à ce qui suit :
Origin https://test.app is not allowed.
Prise en charge des tests sur navigateur
- Microsoft Internet Explorer
Attributs de témoin SameSite
Auparavant, les valeurs possibles de l’attribut de témoin
samesite étaient true, false, strict ou lax. Si vous ne définissiez pas l’attribut manuellement, Auth0 utilisait la valeur par défaut false.À partir de février 2020, Google Chrome v80 a modifié la façon dont il gère les témoins, et Auth0 a mis en œuvre les changements suivants en conséquence :- Les témoins sans attribut
samesitedéfini seront définis surlax. - Les témoins avec
sameSite=nonedoivent être sécurisés, sinon ils ne peuvent pas être enregistrés dans le stockage de témoins du navigateur.