创建一个或多个 hardwareOathTokenAuthenticationMethodDevice 对象

命名空间:microsoft.graph

重要

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

创建一个或多个 hardwareOathTokenAuthenticationMethodDevice 对象。 此 API 支持两种方案:

  • 创建新的硬件令牌,而无需分配给用户。 然后,可以 分配给用户
  • 在同一请求中创建任何单独的硬件令牌并将其分配给用户。

权限

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

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

重要

对工作或学校帐户使用委托权限时,登录用户必须具有适当的Microsoft Entra角色或具有所需权限的自定义角色。 此作所需的最低特权内置角色是 身份验证策略管理员

若要在单个请求中创建硬件 OATH 令牌并将其分配给用户,登录用户还必须具有:

  • UserAuthenticationMethod.ReadWrite.All 委托权限。
  • 身份验证管理员 (最低特权角色,用于将硬件令牌分配给非管理员用户) 或特权身份验证管理员 (最低特权角色,用于将硬件令牌分配给管理员用户) 角色。

HTTP 请求

PATCH /directory/authenticationMethodDevices/hardwareOathDevices

请求标头

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

请求正文

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

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

属性 类型 说明
serialNumber String 特定硬件令牌的序列号,通常位于设备背面。 必填。
manufacturer String 硬件令牌的制造商名称。 必填。
model String 硬件令牌的模型名称。 必填。
secretKey String 供应商提供的特定硬件令牌的密钥。 必填。
timeIntervalInSeconds Int32 6 位数验证码的刷新间隔(以秒为单位)。 可能的值为:30 或 60。 必填。
hashFunction hardwareOathTokenHashFunction 硬件令牌的哈希函数。 可能的值为:hmacsha1hmacsha256。 默认值为: hmacsha1。 可选。
assignTo identity 用户 ID(如果要直接将令牌分配给用户)。 可选。

响应

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

示例

请求

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

POST https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardwareOathDevices
Content-Type: application/json

{
  "@context": "#$delta",
  "value": [
    {
      "@contentId": "1",
      "serialNumber": "TOTP123456",
      "manufacturer": "Contoso",
      "model": "Hardware Token 1000",
      "secretKey": "6PJ4UKIW33NNXYZAEHQNFUFTZF7WFTFB",
      "timeIntervalInSeconds": "30",
      "hashFunction": "hmacsha1"
      },
      {
        "@contentId": "2",
        "serialNumber": "TOTP654321",
        "manufacturer": "Contoso",
        "model": "Hardware Token 1000",
        "secretKey": "TXYZAE6PJ4UZF3NNKIW3HQNFUF7WFTFB",
        "timeIntervalInSeconds": "30",
        "hashFunction": "hmacsha1",
        "assignTo": {
          "id": "0cadbf92-####-####-####-############"
          }
      }
   ]
}

响应

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

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

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

{
  "value": [
    {
      "@odata.type": "#microsoft.graph.hardwareOathAuthenticationMethod",
      "id": "aad49556-####-####-####-############",
      "device": {
        "id": "aad49556-####-####-####-############",
        "displayName": null,
        "serialNumber": "TOTP123456",
        "manufacturer": "Contoso",
        "model": "Hardware Token 1000",
        "secretKey": null,
        "timeIntervalInSeconds": 30,
        "status": "available",
        "hashFunction": "hmacsha1",
        "assignedTo": null
      }
    },
    {
      "@odata.type": "#microsoft.graph.hardwareOathAuthenticationMethod",
      "id": "3dee0e53-####-####-####-############",
      "device": {
        "id": "3dee0e53-####-####-####-############",
        "displayName": null,
        "serialNumber": "TOTP654321",
        "manufacturer": "Contoso",
        "model": "Hardware Token 1000",
        "secretKey": null,
        "timeIntervalInSeconds": 30,
        "status": "assigned",
        "hashFunction": "hmacsha1",
        "assignedTo": {
            "id": "0cadbf92-####-####-####-############",
            "displayName": "Amy Masters"
        }
      }
    }
  ]
}