Crear fido2AuthenticationMethod

Espacio de nombres: microsoft.graph

Cree un nuevo objeto fido2AuthenticationMethod para un usuario. Esta API completa el registro de una clave de seguridad FIDO2 (passkey) como parte de la ceremonia de registro de WebAuthn.

Flujo de registro de clave de paso:

  1. Llame a la función creationOptions para recuperar las opciones de creación de credenciales de WebAuthn de Microsoft Entra ID.
  2. Use las opciones devueltas para crear una nueva credencial en el explorador o autenticador mediante la API WebAuthn.
  3. PUBLIQUE la credencial de clave pública resultante en esta API para completar el registro.

Nota:

Esta API tiene los siguientes problemas conocidos:

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) UserAuthMethod-Passkey.ReadWrite.All UserAuthenticationMethod.ReadWrite.All
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación UserAuthMethod-Passkey.ReadWrite.All UserAuthenticationMethod.ReadWrite.All

Importante

Para el acceso delegado mediante cuentas profesionales o educativas en las que el usuario que ha iniciado sesión actúa sobre otro usuario, se le debe asignar un rol de Microsoft Entra compatible o un rol personalizado que conceda los permisos necesarios para esta operación. Esta operación admite los siguientes roles integrados, que proporcionan solo los privilegios mínimos necesarios:

  • Administrador de autenticación
  • Administrador de autenticación con privilegios

Cuando los usuarios administran sus propios métodos de autenticación, el sistema les pide que completen la autenticación multifactor (MFA) si se autenticaron por última vez hace más de 10 minutos en la sesión actual.

Solicitud HTTP

Nota:

Para llamar al punto de conexión /me, se requiere un usuario con la sesión iniciada y, por lo tanto, un permiso delegado. Los permisos de aplicación no se admiten cuando se usa el punto de /me conexión.

POST /users/{id}/authentication/fido2Methods
POST /me/authentication/fido2Methods

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización.
Content-Type application/json. Obligatorio.

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione una representación JSON del objeto fido2AuthenticationMethod .

Puede especificar las siguientes propiedades al crear un fido2AuthenticationMethod.

Propiedad Tipo Descripción
displayName Cadena Nombre para mostrar de la clave de seguridad FIDO2. Opcional.
publicKeyCredential webauthnPublicKeyCredential Credencial de clave pública de WebAuthn que creó el autenticador. Base64URL codifica todos los datos binarios sin relleno, tal como se define en la sección 5 de RFC 4648. Esta codificación se aplica a las propiedades credential id, clientDataJSON y attestationObject . Obligatorio.

Respuesta

Si se ejecuta correctamente, este método devuelve un 201 Created código de respuesta y un objeto fido2AuthenticationMethod en el cuerpo de la respuesta.

Ejemplos

Solicitud

En el ejemplo siguiente se muestra la solicitud.

POST https://graph.microsoft.com/v1.0/users/99a1915f-70a7-4b67-9dca-64095b41be73/authentication/fido2Methods
Content-Type: application/json

{
  "@odata.type": "#microsoft.graph.fido2AuthenticationMethod",
  "displayName": "My security key",
  "publicKeyCredential": {
    "@odata.type": "#microsoft.graph.webauthnPublicKeyCredential",
    "id": "OEVEMkQzNTctNzNEMi00RjEzLTk5MjYtODdGNjFCMjRBMzQy",
    "response": {
      "@odata.type": "#microsoft.graph.webauthnAuthenticatorAttestationResponse",
      "clientDataJSON": "eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiUVRVMU16TkROekF0TmtNM05pMDBOVFJETFVKRFEwWXRSVFJFTURaQ05UQkZSVFJFIiwib3JpZ2luIjoiaHR0cHM6Ly9sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tIiwiY3Jvc3NPcmlnaW4iOmZhbHNlfQ",
      "attestationObject": "o2NmbXRkbm9uZWdhdHRTdG10oGhhdXRoRGF0YVikSZYN5YgOjGh0NBcPZHZgW4/krrmihjLHmVzzuoMdl2NdAAAAALraVWanqkAfvZZFYZpVEg0AIDhFRDJEMzU3LTczRDItNEYxMy05OTI2LTg3RjYxQjI0QTM0MqUBAgMmIAEhWCAMKJ7T4r8w5F6JGxJLJXNR0hV1MZF1aZ1F0pZXq5p5"
    },
    "clientExtensionResults": {
      "@odata.type": "#microsoft.graph.webauthnAuthenticationExtensionsClientOutputs"
    }
  }
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "@odata.type": "#microsoft.graph.fido2AuthenticationMethod",
  "id": "73e4b2c6-8a2f-4d3e-9b1a-5c7d8e9f0a1b",
  "displayName": "My security key",
  "createdDateTime": "2026-04-20T10:15:30Z",
  "aaGuid": "de1e552d-db1d-4423-a619-566b625cdc84",
  "model": "Security Key NFC by Yubico",
  "attestationCertificates": [],
  "attestationLevel": "attested",
  "passkeyType": "deviceBound"
}