> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Passkeys

> Permite que las personas inicien sesión con una passkey en lugar de una contraseña y administra sus passkeys con las API de Access Manager.

Una passkey permite que una persona inicie sesión con un dispositivo, como un teléfono o una llave de seguridad, en lugar de una contraseña. El inicio de sesión con passkey es una opción de tu organización. Un administrador la activa o la desactiva.

Las passkeys aplican a las cuentas de usuario. Las aplicaciones de máquina a máquina siguen usando credenciales de cliente.

## Qué cambia cuando activas la opción

***

* Una persona que tiene una passkey inicia sesión con ella. Auth rechaza el inicio de sesión con contraseña de esa persona con `403` `AUT-1019`.
* Lerian Console inicia sesión con contraseña o SSO. Una persona que tiene una passkey no puede iniciar sesión en la Console mientras la opción está activada.
* Una persona que no tiene passkey inicia sesión con una contraseña, y con [MFA](https://docs.lerian.studio/es/platform/access-manager/features/mfa/overview) cuando MFA está habilitado.
* Un inicio de sesión con passkey no pide un segundo factor.

Cuando desactivas el inicio de sesión con passkey, Access Manager conserva las passkeys almacenadas. Una persona que tiene una passkey puede iniciar sesión con contraseña de nuevo.

## Activar o desactivar el inicio de sesión con passkey

***

Envía `enabled` a [Actualizar la política de passkey](https://docs.lerian.studio/es/reference/platform/access-manager/update-passkey-policy.md). Quien llama necesita el permiso `application-providers` de `plugin-identity` con la acción `patch`.

[Obtener la política de passkey](https://docs.lerian.studio/es/reference/platform/access-manager/get-passkey-policy.md) muestra la opción y `ssoActive`, que es `true` cuando un proveedor SSO está activo. Necesita la acción `get`.

Mientras un proveedor SSO está activo, Identity rechaza activar las passkeys con `409` `IDE-1068`. Mientras las passkeys están activadas, Identity rechaza configurar un proveedor SSO con `409` `IDE-1069`.

## Agregar una passkey

***

Cada persona agrega su propia passkey, con su propio token. Una cuenta tiene una passkey.

**1. Empieza el registro**

Llama a [Empezar el registro de passkey](https://docs.lerian.studio/es/reference/platform/access-manager/begin-passkey-enrollment.md) con el ID de usuario de la persona. Identity responde las opciones de creación WebAuthn y un `enrollmentToken`.

**2. Crea la passkey en el navegador**

Pasa las opciones a `navigator.credentials.create`.

**3. Completa el registro**

En un plazo de 5 minutos, envía el `enrollmentToken` y la credencial creada a [Completar el registro de passkey](https://docs.lerian.studio/es/reference/platform/access-manager/finish-passkey-enrollment.md). Un registro funciona una vez.

Para agregar o quitar una passkey, el token de la persona debe ser reciente: emitido hace como máximo `PASSKEY_RECENT_AUTH_SEC` segundos. De lo contrario, Identity rechaza con `403` `IDE-1070`, y la persona inicia sesión de nuevo.

Identity rechaza una nueva passkey con `409` `IDE-1073` mientras el inicio de sesión con passkey está desactivado. Rechaza con `409` `IDE-1071` cuando la cuenta ya tiene una passkey.

Estas operaciones necesitan el permiso `passkeys` de `plugin-identity`: `get` para leer el estado, `post` para agregar una passkey y `delete` para quitarla.

## Iniciar sesión con una passkey

***

**1. Empieza el inicio de sesión**

Envía el correo de la persona a [Empezar un inicio de sesión con passkey](https://docs.lerian.studio/es/reference/platform/access-manager/begin-a-passkey-login.md). Auth responde las opciones de solicitud WebAuthn y un `passkeyToken`.

**2. Obtén la aserción en el navegador**

Pasa las opciones a `navigator.credentials.get`.

**3. Completa el inicio de sesión**

En un plazo de 5 minutos, envía el `passkeyToken` y la aserción a [Completar un inicio de sesión con passkey](https://docs.lerian.studio/es/reference/platform/access-manager/finish-a-passkey-login.md). Auth responde un access token y un refresh token. Un `passkeyToken` funciona una vez.

Cuando el tenant no ofrece el inicio de sesión con passkey, Auth responde `403` `AUT-1016`. Auth aplica tu lista de IP permitidas a las dos llamadas, como lo hace con un inicio de sesión con contraseña.

[Descubrir cómo inicia sesión un correo](https://docs.lerian.studio/es/reference/platform/access-manager/discover-how-an-email-signs-in.md) devuelve `passkeyEnabled`, para que tu pantalla de inicio de sesión pueda ofrecer la opción de passkey.

## Quitar una passkey

***

Una persona quita su propia passkey con [Eliminar la passkey](https://docs.lerian.studio/es/reference/platform/access-manager/delete-passkey.md). Esto también funciona mientras el inicio de sesión con passkey está desactivado.

Cuando una persona pierda el dispositivo, desactiva el inicio de sesión con passkey. La persona inicia sesión con contraseña y quita la passkey.

## Requisitos de despliegue (BYOC)

***

* Define `MFA_SECRET` en Auth. Sin él, las dos llamadas de inicio de sesión con passkey responden `503` `AUT-0028`. Consulta [Requisitos de despliegue de MFA](https://docs.lerian.studio/es/platform/access-manager/features/mfa/deployment.md).
* `PASSKEY_RECENT_AUTH_SEC` en Identity define la antigüedad máxima, en segundos, del token que agrega o quita una passkey. El valor predeterminado es `600`.
* Ejecuta Caradhras v1.8.0 o posterior.
* En Caradhras, define `webauthnRpId` y `webauthnRpOrigins`: el dominio que comparten tus páginas de inicio de sesión y los orígenes HTTPS de las páginas que hacen una ceremonia de passkey.

## Páginas relacionadas

***

> **[Autenticación multifactor](https://docs.lerian.studio/es/platform/access-manager/features/mfa/overview)**
>
> Agrega un segundo paso de verificación al inicio de sesión con contraseña y con SSO.

> **[Lista de errores](https://docs.lerian.studio/es/reference/platform/access-manager/access-manager-error-list.md)**


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.