Skip to main content
En algunos casos, la renovación de tokens con autenticación silenciosa no funciona como se espera en la versión más reciente del navegador Safari. Las versiones recientes de Safari introdujeron una nueva función llamada Intelligent Tracking Prevention (ITP). ITP está diseñada para impedir que los sitios web rastreen la actividad del usuario en distintos sitios web. De forma predeterminada, ITP está activada. Puede comprobar si la versión de Safari que está usando incluye ITP yendo a la pestaña Preferencias > Privacidad y verificando si la opción Impedir el rastreo entre sitios está seleccionada.

ITP y el comportamiento del navegador

Al habilitar ITP, el navegador se comporta como si hubiera deshabilitado las cookies de terceros, lo que hace imposible obtener un nuevo token sin mostrar nada al usuario. Esto es similar a la forma en que Connect (OIDC) usa iframes para gestionar sesiones en las aplicaciones SPA. En el SDK para SPA (que es nuestra recomendación), getTokenSilently realiza autenticación silenciosa, a menos que configure el SDK para usar rotativos.

Soluciones alternativas

Los avances recientes en los controles de privacidad de los usuarios en los navegadores afectan negativamente la experiencia del usuario al impedir el acceso a las cookies de terceros. Puede usar la rotación del token de actualización como alternativa, ya que proporciona un método seguro para usar tokens de actualización en las aplicaciones SPA y, al mismo tiempo, ofrece a los usuarios acceso continuo a los recursos sin las interrupciones en la UX causadas por tecnologías de privacidad del navegador como ITP. Como alternativa, puede sortear los problemas que plantea ITP mediante la funcionalidad de dominios personalizados de Auth0, especialmente si el se encuentra en un subdominio del dominio del sitio web de la aplicación. Por ejemplo, si su aplicación está alojada en example.com, el dominio personalizado deberá tener el formato subdomain.example.com.

Modo de depuración de ITP

Safari Technology Preview ofrece un “modo de depuración de Intelligent Tracking Prevention” que puede usar para diagnosticar problemas de ITP. Puede encontrar instrucciones sobre cómo depurar ITP en esta entrada del blog de WebKit. NOTA: Las instrucciones explican cómo clasificar permanentemente un dominio personalizado como si tuviera capacidades de seguimiento con fines de prueba. Sin embargo, en versiones posteriores de Safari Technology Preview, el dominio en el que se almacenan los User Defaults de esta configuración cambió de com.apple.SafariTechnologyPreview a com.apple.WebKit.Networking. Si tiene problemas con los comandos mencionados en las instrucciones, pruebe con estos:
  • Clasificar un sitio como si tuviera capacidades de seguimiento: defaults write com.apple.WebKit.Networking ResourceLoadStatisticsManualPrevalentResource example.com
  • Consultar la configuración: defaults read com.apple.WebKit.Networking ResourceLoadStatisticsManualPrevalentResource
  • Eliminar la configuración: defaults delete com.apple.WebKit.Networking ResourceLoadStatisticsManualPrevalentResource
Tendrá que reiniciar Safari Technology Preview cada vez que haga cambios para que la configuración surta efecto.