使用应用程序上下文获取对 API 的访问权限
本文介绍如何创建应用程序,以便以编程方式访问Microsoft托管桌面 API,这些 API 具有自己的标识,而不是代表用户。
API 访问需要 OAuth2.0 身份验证。 有关详细信息,请参阅 OAuth 2.0 客户端凭据流。
配置服务并获取访问令牌:
- 创建并注册Microsoft Entra应用程序。
- 在应用上配置Microsoft托管桌面的权限。
- 获取管理员同意。
- 使用此应用程序获取访问令牌。
- 使用令牌访问托管桌面 API Microsoft。
创建应用
若要使用 Microsoft 标识平台 终结点进行身份验证,必须先在 Azure 应用注册门户中注册应用。
对于将在其自己的标识下调用 Microsoft 托管桌面 API 的服务,必须为 Web 平台注册应用并复制以下值:
- Azure 应用注册门户分配的应用程序 ID。
- 客户端(应用程序)机密,可以是一个密码或是一个公钥/私钥对(证书)。
- 服务用于接收令牌响应的重定向 URL。
要分步了解如何通过 Azure 应用注册门户配置应用,请参阅注册应用。
使用 OAuth 2.0 客户端凭据授予流,应用使用 Microsoft Entra ID 分配的应用程序 ID 以及使用门户创建的客户端密码直接在 Microsoft 标识平台 终结点进行身份验证。
配置权限
若要在 Azure 应用注册门户中为应用配置应用程序权限,请执行以下操作:
- 在应用程序的“API 权限”页下,选择“添加我的组织使用>的权限 > API”类型“”新式工作区客户 API>“,选择”新式工作区客户 API”。
- 选择“ 应用程序权限 > MmdSupport.ReadWrite”,然后选择“ 添加权限”。
获取管理员同意
需要管理员为应用程序授予管理员同意。
获取访问令牌
有关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
- 选择要使用的 API。
- 在发送到“Bearer {token}”的 http 请求中设置授权标头, (持有者是授权方案) 。