Создание fido2AuthenticationMethod

Пространство имен: microsoft.graph

Создайте новый объект fido2AuthenticationMethod для пользователя. Этот API завершает регистрацию ключа безопасности FIDO2 (ключа доступа) в рамках церемонии регистрации WebAuthn.

Поток регистрации ключа доступа:

  1. Вызовите функцию creationOptions, чтобы получить параметры создания учетных данных WebAuthn из Microsoft Entra ID.
  2. Используйте возвращенные параметры, чтобы создать новые учетные данные в браузере или средстве проверки подлинности с помощью API WebAuthn.
  3. POST результирующие учетные данные открытого ключа в этот API для завершения регистрации.

Примечание.

Этот API имеет следующие известные проблемы:

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) UserAuthMethod-Passkey.ReadWrite.All UserAuthenticationMethod.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Приложение UserAuthMethod-Passkey.ReadWrite.All UserAuthenticationMethod.ReadWrite.All

Важно!

Для делегированного доступа с использованием рабочих или учебных учетных записей, в которых пользователь, выполнив вход, работает с другим пользователем, ему должна быть назначена поддерживаемая Microsoft Entra роль или настраиваемая роль, которая предоставляет разрешения, необходимые для этой операции. Эта операция поддерживает следующие встроенные роли, которые предоставляют только минимальные необходимые привилегии:

  • Администратор проверки подлинности
  • Привилегированный администратор проверки подлинности

Когда пользователи управляют собственными методами проверки подлинности, система предлагает им выполнить многофакторную проверку подлинности (MFA), если они в последний раз прошли проверку подлинности более 10 минут назад в текущем сеансе.

HTTP-запрос

Примечание.

Для вызова конечной точки /me требуется вход пользователя и, следовательно, делегированное разрешение. Разрешения приложений не поддерживаются при использовании конечной /me точки.

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

Заголовки запросов

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Content-Type application/json. Обязательно.

Текст запроса

В тексте запроса укажите представление объекта fido2AuthenticationMethod в формате JSON.

При создании fido2AuthenticationMethod можно указать следующие свойства.

Свойство Тип Описание
displayName String Отображаемое имя ключа безопасности FIDO2. Необязательный параметр.
publicKeyCredential webauthnPublicKeyCredential Учетные данные открытого ключа WebAuthn, созданные аутентификатором. Base64URL кодирует все двоичные данные без заполнений, как определено в разделе 5 RFC 4648. Эта кодировка применяется к свойствам идентификатора учетных данных, clientDataJSON и attestationObject . Обязательно.

Отклик

В случае успешного 201 Created выполнения этот метод возвращает код отклика и объект fido2AuthenticationMethod в теле отклика.

Примеры

Запрос

Ниже показан пример запроса.

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"
    }
  }
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

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"
}