Skip to main content

La disponibilité varie selon le forfait Auth0

Votre forfait Auth0 ou votre entente personnalisée influence la disponibilité de cette fonctionnalité. Pour en savoir plus, consultez la page de tarification d’Auth0.
Pour configurer Cloudflare comme proxy inverse selon l’approche recommandée, un forfait Enterprise de Cloudflare comprenant les fonctionnalités suivantes est requis :

Configurer Cloudflare

Comme condition préalable, le domaine parent du domaine personnalisé choisi doit être ajouté et activé dans le tableau de bord Cloudflare. Assurez-vous également que le domaine personnalisé souhaité n’existe pas déjà dans votre zone Cloudflare. S’il existe déjà, la vérification Cloudflare échouera.
Pour configurer Cloudflare comme proxy inverse, vous devrez créer un enregistrement CNAME, une règle de page et une règle de transformation dans Cloudflare.
  1. Configurez et vérifiez un domaine personnalisé avec des certificats autogérés si ce n’est pas déjà fait. Prenez note des valeurs Origin Domain Name et cname-api-key, car vous en aurez besoin plus tard.
  2. Dans le tableau de bord Cloudflare de la zone cible, créez un enregistrement CNAME avec les paramètres suivants :
  3. Créez une règle de page qui s’applique à toutes les URL du domaine personnalisé choisi, avec les paramètres suivants :
  4. Créez une règle de transformation :
    Bien qu’il soit possible d’utiliser des Cloudflare Workers au lieu des règles de page et de transformation pour mettre en place un proxy inverse qui répond aux exigences d’un domaine personnalisé avec certificat autogéré, nous recommandons l’approche fondée sur des règles, car elle évite d’avoir à écrire du code personnalisé.
    1. Passez à la vue Modify Request Header.
    2. Sélectionnez Create Rule et donnez-lui le nom de votre choix.
    3. Sous When incoming requests match, sélectionnez Custom filter expression et définissez une expression qui limite la règle aux requêtes associées au domaine personnalisé choisi. Par exemple, utilisez une correspondance exacte sur le champ Hostname.
    4. Sous Modify request header, sélectionnez Set static, puis définissez les champs suivants :
  5. Assurez-vous que Always Use HTTPS est activé et que le mode de chiffrement est réglé au minimum sur Full pour le domaine personnalisé choisi.

Utiliser Managed Challenges

Les Managed Challenges de Cloudflare vous permettent de filtrer le trafic de bots avant que les requêtes n’atteignent Auth0 Universal Login. Lorsqu’une requête correspond à votre règle, Cloudflare l’intercepte et présente une vérification. Comme les pages de challenge renvoient du HTML, Managed Challenges ne sont compatibles qu’avec les flux dans le navigateur — les appliquer à des points de terminaison d’API ou à des flux sans interface utilisateur les fera échouer, car le client recevra une page de challenge HTML au lieu de la réponse attendue.

Points de terminaison Universal Login basés sur le navigateur

Les points de terminaison suivants servent des pages HTML à un navigateur et sont compatibles avec Managed Challenges :
Si vous utilisez Classic Universal Login, incluez aussi /login dans votre règle Managed Challenge.

Points de terminaison à exclure

N’appliquez pas de Managed Challenge aux points de terminaison suivants. Ils sont appelés par des serveurs, des SDKs ou des serveurs de ressources et ne peuvent pas relever un défi interactif :

Exemple de règle

Pour appliquer les Managed Challenges uniquement aux flux Universal Login dans le navigateur, créez une WAF Custom Rule dans Cloudflare. Définissez l’action de la règle sur Managed Challenge et utilisez l’expression suivante en remplaçant YOUR_CUSTOM_DOMAIN par votre domaine personnalisé (par exemple, login.example.com) :
Cela limite cette mesure aux seuls points de terminaison Universal Login avec interface utilisateur et évite de perturber le trafic d’API et de machine à machine.
Quelques cas d’utilisation peuvent se comporter différemment :
  • Persistance du cookie d’autorisation : Une fois qu’un navigateur a franchi un Managed Challenge, Cloudflare émet un cookie d’autorisation qui persiste généralement pendant la session. Selon votre configuration, limiter la règle à /authorize בלבד peut suffire pour couvrir l’ensemble du flux de connexion Universal Login sans l’appliquer à chaque chemin /u/*.
  • Points d’entrée non OAuth : Les flux qui commencent à partir de points d’entrée SAML initiés par le fournisseur de services (SP) ou de points d’entrée WS-Federation utilisent /samlp/* ou /wsfed/* au lieu de /authorize. Ces chemins figurent dans la liste d’exclusion et ne devraient pas être soumis à un Managed Challenge.

Configurer Auth0

Appelez le point de terminaison Mettre à jour la configuration du domaine personnalisé de l’ d’Auth0 avec la charge utile suivante dans le corps de la requête :
Auth0 sera ainsi configuré pour extraire l’adresse IP de l’utilisateur final de l’en-tête HTTP true-client-ip.
Utilisez toujours true-client-ip dans la mesure du possible. Cloudflare ne prend pas en charge l’utilisation de l’en-tête HTTP cf-connecting-ip à cette fin.

En savoir plus