La API de Credential Management es una API de navegador basada en estándares que proporciona una interfaz programática entre el sitio y el navegador para un acceso sin problemas en todos los dispositivos.
La API de Credential Management:
- Quita los inconvenientes de los flujos de acceso: Los usuarios pueden volver a acceder automáticamente a un sitio, incluso si su sesión venció o si guardaron credenciales en otro dispositivo.
- Permite el acceso con un clic con el selector de cuentas: Los usuarios pueden elegir una cuenta en un selector de cuentas nativo.
- Almacena credenciales: Tu aplicación puede almacenar una combinación de nombre de usuario y contraseña, o incluso detalles de la cuenta federada. El navegador puede sincronizar estas credenciales en todos los dispositivos.
¿Quieres verlo en acción? Prueba la demostración de la API de Credential Management y observa el código.
Verifica la compatibilidad del navegador con la API de Credential Management
Antes de usar la API de Credential Management, primero verifica si se admite PasswordCredential
o FederatedCredential
.
if (window.PasswordCredential || window.FederatedCredential) {
// Call navigator.credentials.get() to retrieve stored
// PasswordCredentials or FederatedCredentials.
}
Cómo acceder como usuario
Para que el usuario acceda, recupera las credenciales del administrador de contraseñas del navegador y úsalas para que acceda.
Por ejemplo:
- Cuando un usuario llega a tu sitio y no accedió, llama a
navigator.credentials.get()
. - Usa las credenciales recuperadas para permitir que el usuario acceda.
- Actualiza la IU para indicar que el usuario accedió.
Obtén más información en Cómo ingresar a la cuenta de los usuarios.
Cómo guardar o actualizar las credenciales del usuario
Si el usuario accedió con un proveedor de identidad federada, como Acceder con Google, Facebook o GitHub, haz lo siguiente:
- Después de que el usuario acceda correctamente o cree una cuenta, crea el
FederatedCredential
con la dirección de correo electrónico del usuario como ID y especifica el proveedor de identidad conFederatedCredentials.provider
. - Guarda el objeto de credencial con
navigator.credentials.store()
.
Obtén más información en Cómo ingresar a la cuenta de los usuarios.
Si el usuario accedió con un nombre de usuario y una contraseña, haz lo siguiente:
- Después de que el usuario acceda correctamente o cree una cuenta, crea el
PasswordCredential
con el ID de usuario y la contraseña. - Guarda el objeto de credencial con
navigator.credentials.store()
.
Obtén más información en Cómo guardar credenciales desde Formularios.
Salir
Cuando el usuario salga de la sesión, llama a navigator.credentials.preventSilentAccess()
para evitar que vuelva a acceder automáticamente.
Inhabilitar el acceso automático también permite a los usuarios cambiar de cuenta fácilmente, por ejemplo, entre cuentas personales y de trabajo, o entre cuentas en dispositivos compartidos, sin tener que volver a ingresar su información de acceso.
Obtén más información en Cómo salir.