使用应用程序上下文获取对 API 的访问权限

本文介绍如何创建应用程序,以便以编程方式访问Microsoft托管桌面 API,这些 API 具有自己的标识,而不是代表用户。

API 访问需要 OAuth2.0 身份验证。 有关详细信息,请参阅 OAuth 2.0 客户端凭据流

配置服务并获取访问令牌:

  1. 创建并注册Microsoft Entra应用程序
  2. 在应用上配置Microsoft托管桌面的权限。
  3. 获取管理员同意。
  4. 使用此应用程序获取访问令牌。
  5. 使用令牌访问托管桌面 API Microsoft。

创建应用

若要使用 Microsoft 标识平台 终结点进行身份验证,必须先在 Azure 应用注册门户中注册应用

对于将在其自己的标识下调用 Microsoft 托管桌面 API 的服务,必须为 Web 平台注册应用并复制以下值:

  • Azure 应用注册门户分配的应用程序 ID。
  • 客户端(应用程序)机密,可以是一个密码或是一个公钥/私钥对(证书)。
  • 服务用于接收令牌响应的重定向 URL。

要分步了解如何通过 Azure 应用注册门户配置应用,请参阅注册应用

使用 OAuth 2.0 客户端凭据授予流,应用使用 Microsoft Entra ID 分配的应用程序 ID 以及使用门户创建的客户端密码直接在 Microsoft 标识平台 终结点进行身份验证。

配置权限

若要在 Azure 应用注册门户中为应用配置应用程序权限,请执行以下操作:

  1. 在应用程序的“API 权限”页下,选择“添加我的组织使用>的权限 > API”类型“”新式工作区客户 API>“,选择”新式工作区客户 API”。
  2. 选择“ 应用程序权限 > MmdSupport.ReadWrite”,然后选择“ 添加权限”。

请求 API 权限页

需要管理员为应用程序授予管理员同意。

获取访问令牌

有关Microsoft Entra令牌的详细信息,请参阅Microsoft Entra教程

在 OAuth 2.0 客户端凭据授予流中,使用注册应用时保存的应用程序 ID 和客户端密码值直接从 Microsoft 标识平台 /token 终结点请求访问令牌。

令牌请求

向 /token 标识平台终结点发送 HTTP POST 请求以获取访问令牌:

https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token
参数 条件 说明
tenantId 必需 租户的Microsoft Entra ID。
client_id 必需 注册应用时分配的应用程序 ID。
范围 必需 必须是 https://mwaas-services-customerapi-prod.azurewebsites.net/.default
client_secret 必需 在应用注册门户中为应用生成的客户端密码。
grant_type 必需 必须是 client_credentials

令牌响应

成功的 JSON 响应如下所示:

{
    "token_type": "Bearer",
    "expires_in": "3599",
    "access_token": "access_token"
}
参数 说明
access_token 请求的访问令牌。 应用可以在调用 API 时使用此令牌。
token_type 必须是持有者。
expires_in 访问令牌的有效期 (以秒为单位。

使用令牌访问托管桌面 API Microsoft

  1. 选择要使用的 API。
  2. 在发送到“Bearer {token}”的 http 请求中设置授权标头, (持有者是授权方案) 。