Migra a FedCM

Esta guía te ayuda a comprender los cambios en tu aplicación web introducidos por la API de Federated Credentials Management (FedCM).

Cuando FedCM está habilitado, el navegador muestra los mensajes de los usuarios y no se usan cookies de terceros.

Descripción general

Privacy Sandbox para la Web y la eliminación de las cookies de terceros de Chrome de la Web introducen cambios significativos en los servicios de Google Identity y el acceso de los usuarios.

FedCM permite flujos de acceso más privados sin necesidad de usar cookies de terceros. El navegador controla la configuración del usuario, muestra los mensajes de los usuarios y solo se comunica con un proveedor de identidad, como Google, después de que se otorga su consentimiento explícito.

Para la mayoría de los sitios web, la migración se realiza sin problemas a través de actualizaciones retrocompatibles de la biblioteca JavaScript de Google Identity Services.

Actualizaciones sobre la función de acceso automático

La versión beta de la Administración de credenciales federadas (FedCM) para Google Identity Services se lanzó en agosto de 2023. Muchos desarrolladores probaron la API y brindaron comentarios valiosos.

Una respuesta que Google escuchó de los desarrolladores es sobre el requisito de gestos del usuario del flujo de acceso automático de FedCM. Para mejorar la privacidad, Chrome requiere que los usuarios vuelvan a confirmar que desean acceder al sitio web con una Cuenta de Google en cada instancia de Chrome, incluso si el usuario aprobó el sitio web antes del lanzamiento de la FedCM. Esta reconfirmación única se logra con un solo clic en el mensaje de One Tap para demostrar la intención de acceso del usuario. Este cambio puede causar una interrupción inicial en los porcentajes de conversiones de acceso automático para algunos sitios web.

Recientemente, en M121, Chrome realizó un cambio en la UX del flujo de acceso automático de FedCM. La reconfirmación solo es necesaria cuando las cookies de terceros están restringidas. Esto significa lo siguiente:

  1. Antes de que las restricciones de cookies de terceros aumenten al 100% en el 3er trim. de 2024, el acceso automático de FedCM no requiere que los usuarios recurrentes vuelvan a confirmar el servicio. Si los usuarios vuelven a confirmar con la IU de FedCM, esta reconfirmación se considerará en el requisito de gestos del usuario para la era posterior a la 3PCD.

  2. El acceso automático de FedCM verificará el estado de reconfirmación cuando los usuarios restrinjan manualmente las cookies de terceros en la actualidad o de forma predeterminada en el futuro de Chrome.

Con este cambio, recomendamos a todos los desarrolladores con acceso automático migrar a FedCM lo antes posible para reducir las interrupciones en los porcentajes de conversiones de acceso automático.

Para el flujo de acceso automático, el JavaScript de GIS no activará FedCM en una versión de Chrome anterior (anterior a la M121), incluso si tu sitio web elige habilitar FedCM.

Antes de comenzar

Verifica que la configuración y la versión del navegador sean compatibles con la API de FedCM. Se recomienda actualizar a la versión más reciente.

  • La API de FedCM está disponible en Chrome 117 o versiones posteriores.

  • La configuración de Acceso de terceros está habilitada en Chrome.

  • Si la versión del navegador Chrome es 119 o anterior, abre chrome://flags y habilita la función experimental FedCmWithoutThirdPartyCookies. Este paso no es necesario en el navegador Chrome 120 o versiones posteriores.

Migra tu app web

Sigue estos pasos para habilitar FedCM, evaluar el impacto potencial de la migración y, si es necesario, realizar cambios en tu aplicación web existente:

1. Agrega una marca booleana para habilitar FedCM durante la inicialización con el siguiente comando:

2. Quita el uso de los métodos isDisplayMoment(), isDisplayed(), isNotDisplayed() y getNotDisplayedReason() en tu código.

Para mejorar la privacidad del usuario, la devolución de llamada google.accounts.id.prompt ya no muestra ninguna notificación de momento en pantalla en el objeto PromptMomentNotication. Quita cualquier código que dependa de los métodos relacionados con el momento de visualización. Son los métodos isDisplayMoment(), isDisplayed(), isNotDisplayed() y getNotDisplayedReason().

3. Quita el uso del método getSkippedReason() en el código.

Si bien el momento de omisión, isSkippedMoment(), se llamaría desde la devolución de llamada google.accounts.id.prompt en el objeto PromptMomentNotication, no se proporcionaría el motivo detallado. Quita de tu código cualquier código que dependa del método getSkippedReason().

Ten en cuenta que la notificación de momento descartada, isDismissedMoment(), y el método de motivo detallado relacionado, getDismissedReason(), no se modifican cuando se habilita FedCM.

4. Quita los atributos de estilo position de data-prompt_parent_id y intermediate_iframes.

El navegador controla el tamaño y la posición de las instrucciones de los usuarios. No se admiten las posiciones personalizadas para One Tap en computadoras.

5. Actualiza el diseño de página si es necesario.

El navegador controla el tamaño y la posición de las instrucciones del usuario. Según el diseño de las páginas individuales, es posible que parte del contenido se superponga como posiciones personalizadas para One Tap en computadoras de escritorio, como el atributo de estilo, data-prompt_parent_id, intermediate_iframes, el iframe personalizado y otras formas creativas.

Cambia el diseño de la página para mejorar la experiencia del usuario cuando se oculte información importante. No construyas tu UX en torno al mensaje de One Tap, incluso si supones que está en la posición predeterminada. Debido a que la API de FedCM está mediada por el navegador, los distintos proveedores del navegador pueden colocar la posición del mensaje de manera ligeramente diferente.

6. Agrega el atributo allow="identity-credentials-get" al marco superior si tu app web llama a la API de One Tap desde iframes de origen cruzado.

Un iframe se considera de origen cruzado si su origen no es exactamente el mismo que el origen superior. Por ejemplo:

  • Dominios diferentes: https://example1.com y https://example2.com
  • Diferentes dominios de nivel superior: https://example.uk y https://example.jp
  • Subdominios: https://example.com y https://login.example.com

    Para mejorar la privacidad del usuario, cuando se llama a la API de One Tap desde iframes de origen cruzado, debes agregar el atributo allow="identity-credentials-get" en cada etiqueta iframe de cada marco superior:

    <iframe src="https://your.cross-origin/onetap.page" allow="identity-credentials-get"></iframe>
    

    Si tu app utiliza un iframe que contiene otro, debes asegurarte de que el atributo se agregue a cada iframe, incluidos todos los subiframes.

    Por ejemplo, considera la siguiente situación:

  • El documento superior (https://www.example.uk) contiene un iframe llamado "Iframe A", que incorpora una página (https://logins.example.com).

  • Esta página incorporada (https://logins.example.com) también contiene un iframe llamado "Iframe B", que incorpora, además, una página (https://onetap.example2.com) que aloja One Tap.

    Para garantizar que One Tap se pueda mostrar correctamente, el atributo debe agregarse a las etiquetas Iframe A y Iframe B.

    Prepárate para las consultas sobre el mensaje de One Tap que no se muestra. Otros sitios con diferentes orígenes pueden incorporar tus páginas que alojan One Tap dentro de sus iframes. Es posible que recibas una mayor cantidad de tickets de asistencia relacionados con que One Tap no aparezca de los usuarios finales ni de otros propietarios del sitio. Si bien solo los propietarios del sitio pueden realizar las actualizaciones en sus páginas, puedes hacer lo siguiente para mitigar el impacto:

  • Actualiza la documentación para desarrolladores a fin de incluir cómo configurar el iframe de forma correcta para llamar a tu sitio. Puedes agregar un vínculo a esta página en la documentación.

  • Actualiza la página de Preguntas frecuentes para desarrolladores si corresponde.

  • Informa a tu equipo de asistencia al cliente sobre este próximo cambio y prepárate para la respuesta a la consulta con anticipación.

  • Comunícate de forma proactiva con los socios, clientes o propietarios de los sitios afectados para realizar una transición óptima a la FedCM.

7. Agrega estas directivas a tu Política de Seguridad del Contenido (CSP).

Este paso es opcional, ya que no todos los sitios web eligen definir una CSP.

  • Si no se usa CSP en tu sitio web, no es necesario realizar ningún cambio.

  • Si tu CSP funciona con el One Tap actual y no usas connect-src, frame-src, script-src, style-src ni default-src, no es necesario que realices ningún cambio.

  • De lo contrario, sigue esta guía para configurar tu CSP. Sin la configuración adecuada de la CSP, el One Tap de FedCM no se mostraría en el sitio.

8. Quitar la compatibilidad de Accelerated Mobile Pages (AMP) para el acceso

La compatibilidad con el acceso de usuarios para AMP es una función opcional de GIS que tu app web puede haber implementado. Si este es el caso,

Borra cualquier referencia a lo siguiente:

  • amp-onetap-google elemento personalizado y

  • <script async custom-element="amp-onetap-google" src="https://cdn.ampproject.org/v0/amp-onetap-google-0.1.js"></script>

    Te recomendamos redireccionar las solicitudes de acceso de AMP al flujo de acceso HTML de tu sitio web. Ten en cuenta que la Intermediate Iframe Support API relacionada no se verá afectada.