创建 fido2AuthenticationMethod

命名空间:microsoft.graph

重要

Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。

创建新的 fido2AuthenticationMethod 对象。

注意

目前不支持自助服务操作。

权限

为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) UserAuthenticationMethod.ReadWrite.All 不可用。
委派(个人 Microsoft 帐户) 不支持。 不支持。
应用程序 UserAuthenticationMethod.ReadWrite.All 不可用。

HTTP 请求

POST /users/{id}/authentication/fido2methods 

请求标头

名称 说明
Authorization 持有者 {token}。 必填。 详细了解 身份验证和授权
Content-Type application/json. 必需。

请求正文

在请求正文中,提供 fido2AuthenticationMethod 对象的 JSON 表示形式。

创建 fido2AuthenticationMethod 时,可以指定以下属性。

属性 类型 说明
displayName String 为已注册的 fido2AuthenticationMethod 提供的自定义名称
publicKeyCredential webauthnPublicKeyCredential 包含正在注册的 WebAuthn 公钥凭据信息

注意

publicKeyCredential |webAuthnPublicKeyCredential 是一个只写属性,在 GET 请求中不返回。

目前,目前仅支持“已打包”或“无”的证明格式。

响应

如果成功,此方法在响应正文中返回响应 201 Created 代码和 fido2AuthenticationMethod 对象。

示例

请求

以下示例显示了一个请求。

POST https://graph.microsoft.com/beta/users/{id}/authentication/fido2Methods
Content-Type: application/json

{
  "@odata.type": "#microsoft.graph.fido2AuthenticationMethod",
  "displayName": "Red Key",
  "publicKeyCredential": {
    "id": "pgIfj2fnom8rJdb4_h1gKqDkq-gxHFksI-m2aR5T-PNNycBfENAM4ksEBvoXky6d",
    "response": {
      "clientDataJSON": "VGhpcyBpcyB0aGUgY2xpZW50RGF0YUpTT04gZW5jb2RlZCB0byBiZSB3ZWJzYWZlIHdoaWNoIHdpbGwgYmUgc2VudCB0byBFbnRyYSBJRA",
      "attestationObject": "VGhpcyBpcyB0aGUgYXR0ZXN0YXRpb25PYmplY3QgZW5jb2RlZCB0byBiZSB3ZWJzYWZlIHdoaWNoIHdpbGwgYmUgc2VudCB0byBFbnRyYSBJRA"
    }
  }
}

响应

以下示例显示了相应的响应。

注意:为了提高可读性,可能缩短了此处显示的响应对象。

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

{
  "@odata.type": "#microsoft.graph.fido2AuthenticationMethod",
  "id": "73ecec75-b546-cd6a-d74d-8bb81e58d4a7",
  "displayName": "Red Key",
  "createdDateTime": "2020-08-10T06:44:09Z",
  "aaGuid": "2fc0579f-8113-47ea-b116-555a8db9202a",
  "model": "NFC Key",
  "attestationCertificates": [
    "dbe793efdf1945e2df25d93653a1e8a3268a9075"
  ],
  "attestationLevel": "attested"
}

注意

在使用响应数据在 FIDO2 安全密钥上创建密钥之前,请确保对 publicKeyCredential.id 执行正确的 base64URL 编码和解码。