Skip to main content
Dans certains cas, le renouvellement de jetons par authentification silencieuse ne fonctionne pas comme prévu dans la version la plus récente du navigateur Safari. Les versions récentes de Safari ont introduit une nouvelle fonctionnalité appelée Intelligent Tracking Prevention (ITP). L’ITP est conçue pour empêcher les sites Web de suivre l’activité des utilisateurs d’un site à l’autre. Par défaut, l’ITP est activé. Vous pouvez vérifier si la version de Safari que vous utilisez comprend l’ITP en ouvrant l’onglet Préférences > Confidentialité et en vérifiant si l’option Empêcher le suivi sur plusieurs domaines est cochée.

ITP et comportement du navigateur

L’activation d’ITP amène le navigateur à se comporter comme si vous aviez désactivé les témoins tiers, ce qui rend impossible l’obtention d’un nouveau jeton sans rien afficher à l’utilisateur. C’est semblable à la façon dont Connect (OIDC) utilise des iframes pour gérer les sessions dans les SPA. Dans le SDK SPA (que nous recommandons), getTokenSilently effectue une authentification silencieuse, sauf si vous configurez le SDK pour utiliser des rotatifs.

Solutions de contournement

Les avancées récentes des contrôles de confidentialité des utilisateurs dans les navigateurs nuisent à l’expérience utilisateur en empêchant l’accès aux témoins tiers. Vous pouvez utiliser la rotation des jetons d’actualisation comme solution de rechange, car elle offre une méthode sécurisée d’utiliser des jetons d’actualisation dans les SPA tout en fournissant aux utilisateurs finaux un accès fluide aux ressources, sans les perturbations de l’expérience utilisateur causées par des technologies de confidentialité des navigateurs comme ITP. Vous pouvez aussi contourner les problèmes posés par ITP en utilisant la fonctionnalité de domaines personnalisés d’Auth0, particulièrement si le se trouve sur un sous-domaine du domaine du site Web de l’application. Par exemple, si votre application est hébergée sur example.com, le domaine personnalisé doit être au format subdomain.example.com.

Mode de débogage ITP

Safari Technology Preview offre un « mode de débogage d’Intelligent Tracking Prevention » que vous pouvez utiliser pour diagnostiquer les problèmes liés à l’ITP. Vous trouverez des instructions pour déboguer l’ITP dans ce billet de blogue de WebKit. REMARQUE : Les instructions expliquent comment classer de façon permanente un domaine personnalisé comme ayant des capacités de suivi à des fins de test. Cependant, dans les versions plus récentes de Safari Technology Preview, le domaine utilisé pour stocker les User Defaults de ce paramètre est passé de com.apple.SafariTechnologyPreview à com.apple.WebKit.Networking. Si les commandes mentionnées dans les instructions ne fonctionnent pas, essayez celles-ci :
  • Classer un site comme ayant des capacités de suivi : defaults write com.apple.WebKit.Networking ResourceLoadStatisticsManualPrevalentResource example.com
  • Vérifier le paramètre : defaults read com.apple.WebKit.Networking ResourceLoadStatisticsManualPrevalentResource
  • Supprimer le paramètre : defaults delete com.apple.WebKit.Networking ResourceLoadStatisticsManualPrevalentResource
Vous devrez redémarrer Safari Technology Preview chaque fois que vous apportez des modifications pour que les paramètres prennent effet.