Compatibilidad con la reautenticación automática en FedCM

Chrome admite la reautenticación automática en FedCM

La API de Federated Credential Management (FedCM) es una API web para la federación de identidades que preservan la privacidad. Con la federación de identidades, un RP (parte de confianza) depende de un IdP (proveedor de identidad) para proporcionarle al usuario un sin solicitar un nombre de usuario y una contraseña nuevos.

FedCM permite que el navegador comprenda el contexto en el que el RP y el IdP para intercambiar información. Informa al usuario sobre la información y el privilegio que se compartan y que evite abusos no deseados. FedCM está disponible en Chrome desde la versión 108.

En Chrome 115, la FedCM es compatible con la reautenticación automática, lo que mejora la experiencia del usuario y permite una reautenticación más ágil para la parte restringida después del consentimiento inicial.

Reautenticación automática

Actualmente, después de que un usuario crea una cuenta federada en un RP con un IdP a través de la API de FedCM la próxima vez visitar el sitio web y seguir los mismos pasos en la interfaz de usuario. Esto significa que el usuario deberá volver a confirmar de forma explícita y manual debes volver a autenticarte y continuar con el flujo de acceso.

Si bien la experiencia explícita del usuario tiene sentido antes de que el usuario cree la cuenta federada para evitar el seguimiento (que es uno de los principales objetivos de FedCM) es innecesariamente engorroso después de que el usuario lo ha atravesado una vez: después de el usuario otorga permiso para permitir la comunicación entre el RP y el IdP no brinda ningún beneficio de privacidad o seguridad por exigir que otros usuarios confirmación para algo que ya hayan aceptado previamente. Por eso, presentamos una UX más optimizada que los RP pueden elegir para sus usuarios recurrentes.

FedCM reautenticación automática (“reautenticación automática”) puede permitir que los usuarios vuelvan a autenticarse automáticamente cuando regresan después de la autenticación inicial con FedCM. “La autenticación” significa que el usuario crea una cuenta o accede a la parte restringida si presionas el botón "Continue as..." en el diálogo de acceso de FedCM. por primera vez en la misma instancia del navegador.

Un diálogo que el usuario presiona para crear una cuenta o autenticarse.
Un diálogo en el que el usuario presiona para crear una cuenta o autenticarse.

Elige una opción de reautenticación automática

Incorporamos la reautenticación automática para mejorar la UX y alinearse con el especificación, la experiencia del usuario predeterminada será diferente sin ningún código cambio. Con la función de reautenticación automática disponible, el navegador cambia su comportamiento según en la opción que selecciones en la opción mediation que proporcionan los desarrolladores navigator.credentials.get()

const cred = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: "https://idp.example/fedcm.json",
      clientId: "1234",
    }],
  },
  mediation: 'optional', // this is the default
});

mediation es una propiedad de Credential Management API, se comporta de la misma manera ya que hace para PasswordCredential y FederatedCredential y está parcialmente respaldado por PublicKeyCredential a tus conjuntos de datos. La propiedad acepta los siguientes cuatro valores:

  • 'required': Siempre requiere una mediación para continuar; por ejemplo, al hacer clic en el "Continuar" en la IU. Elige esta opción si se espera que tus usuarios otorgar permiso explícitamente cada vez que se deba autenticar.
  • 'optional'(predeterminado): Reautenticación automática si es posible. De lo contrario, requiere una mediación. Mié te recomendamos que elijas esta opción en la página de acceso.
  • 'silent': Reautenticación automática si es posible; falla silenciosamente sin requerir una mediación si no lo es. Recomendamos elegir esta opción en páginas que no sean la página de acceso dedicada, pero en la que quieres mantener el acceso de los usuarios, por Por ejemplo, la página de un artículo en un sitio web de envíos o la página de un artículo de una sitio web.
  • 'conditional': Se usa para WebAuthn y no está disponible para FedCM en este momento.

Con esta llamada, la reautenticación automática ocurre en las siguientes condiciones:

  • FedCM está disponible para su uso. Por ejemplo, el usuario no ha inhabilitado FedCM ya sea a nivel global o para la parte restringida en la configuración.
  • El usuario utilizó una sola cuenta con la API de FedCM para acceder al sitio web en esta navegador.
  • El usuario accedió al IdP con esa cuenta.
  • La reautenticación automática no se realizó en los últimos 10 minutos.
  • La parte restringida no llamó navigator.credentials.preventSilentAccess() después el acceso anterior.

Si se cumplen las condiciones anteriores, se intentará volver a autenticar automáticamente. el usuario se inicia en cuanto se invoca la navigator.credentials.get() de FedCM.

Un usuario que autentica automáticamente mediante FedCM

Aplicar la mediación con preventSilentAccess()

La autenticación automática de usuarios inmediatamente después de que salen de sus cuentas no implica un experiencia del usuario muy buena. Por eso, el FedCM tiene un período de inactividad de 10 minutos una reautenticación automática para evitar este comportamiento. Esto significa que la autenticación automática como máximo, una vez cada 10 minutos, a menos que el usuario vuelva a acceder dentro de 10 minutos. La parte restringida debe llamar a navigator.credentials.preventSilentAccess() para solicitar explícitamente al navegador que inhabilite la autenticación automática cuando un usuario salga de su cuenta de forma explícita, por ejemplo, con un botón para salir.

function signout() {
  navigator.credentials.preventSilentAccess();
  location.href = '/signout';
}

Los usuarios pueden inhabilitar la reautenticación automática en la configuración.

Los usuarios pueden inhabilitar la reautenticación automática desde el menú de configuración:

  • En la versión de Chrome para computadoras, ve a chrome://password-manager/settings > Acceder automáticamente.
  • En Chrome para Android, abre Configuración > Administrador de contraseñas > Presiona un engranaje en la esquina superior derecha > Acceso automático.

Si se inhabilita el botón de activación, el usuario podrá rechazar el comportamiento de reautenticación automática entre sí. Este parámetro de configuración se almacena y sincroniza entre dispositivos, si el usuario accedió a una Cuenta de Google en la instancia de Chrome y la sincronización se habilitado.

Compartir comentarios

Si estás probando FedCM, puedes compartir tus comentarios o cualquier problema que tengas. en crbug.com, en un componente "Blink>Identity>FedCM".

Foto de Noah Samuel Franz en Unsplash