Criar fido2AuthenticationMethod

Namespace: microsoft.graph

Crie um novo objeto fido2AuthenticationMethod para um usuário. Essa API conclui o registro de uma chave de segurança FIDO2 (chave de acesso) como parte da cerimônia de registro do WebAuthn.

Fluxo de registro de chave de acesso:

  1. Chame a função creationOptions para recuperar as opções de criação de credenciais WebAuthn do Microsoft Entra ID.
  2. Use as opções retornadas para criar uma nova credencial no navegador ou no autenticador usando a API WebAuthn.
  3. POST a credencial de chave pública resultante nesta API para concluir o registro.

Observação

Essa API tem os seguintes problemas conhecidos:

Permissões

Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.

Tipo de permissão Permissões menos privilegiadas Permissões com privilégios mais elevados
Delegado (conta corporativa ou de estudante) UserAuthMethod-Passkey.ReadWrite.All UserAuthenticationMethod.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application UserAuthMethod-Passkey.ReadWrite.All UserAuthenticationMethod.ReadWrite.All

Importante

Para acesso delegado usando contas corporativas ou de estudante em que o usuário conectado está agindo sobre outro usuário, ele deve receber uma função do Microsoft Entra com suporte ou uma função personalizada que conceda as permissões necessárias para esta operação. Esta operação dá suporte às seguintes funções internas, que fornecem apenas o menor privilégio necessário:

  • Administrador de Autenticação
  • Administrador de Autenticação Privilegiada

Quando os usuários gerenciam seus próprios métodos de autenticação, o sistema solicita que eles concluam a autenticação multifator (MFA) se eles foram autenticados pela última vez há mais de 10 minutos na sessão atual.

Solicitação HTTP

Observação

Chamar o ponto de extremidade /me exige um usuário conectado e, portanto, uma permissão delegada. Não há suporte para permissões de aplicativo ao usar o /me ponto de extremidade.

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

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json. Obrigatório.

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON do objeto fido2AuthenticationMethod .

Você pode especificar as propriedades a seguir ao criar um fido2AuthenticationMethod.

Propriedade Tipo Descrição
displayName Cadeia de caracteres O nome de exibição da chave de segurança FIDO2. Opcional.
publicKeyCredential webauthnPublicKeyCredential A credencial de chave pública WebAuthn criada pelo autenticador. Codificar em base64URL todos os dados binários sem preenchimento, conforme definido na RFC 4648 Seção 5. Essa codificação se aplica às propriedades credential id, clientDataJSON e attestationObject . Obrigatório.

Resposta

Se for bem-sucedido, esse método retornará um código de 201 Created resposta e um objeto fido2AuthenticationMethod no corpo da resposta.

Exemplos

Solicitação

O exemplo a seguir mostra uma solicitação.

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

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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