在 TeamsFx 项目中使用现有的 Microsoft Entra 应用

本部分提供有关使用现有 Microsoft Entra 应用或手动创建适用于 TeamsFx 项目的 Microsoft Entra 应用的信息。 按照说明进行操作,并确保在 TeamsFx 项目中正确设置了所有必需的信息。

创建Microsoft Entra 应用

注意

如果已有Microsoft Entra 应用,则可以跳过此部分。 可以通过 操作自动执行 aadApp/create 此步骤。

  1. 转到 Azure 门户 并选择“ Microsoft Entra ID”。

  2. 选择“ 应用注册>”“新建注册 ”以创建新的Microsoft Entra 应用:

    • 名称:配置应用的名称。
    • 支持的帐户类型选择“仅此组织目录中的帐户”。
    • 暂时将 “重定向 URL” 字段留空。
    • 选择“注册”。
  3. 注册应用后,你将被带到应用的 “概述 ”页。 复制 应用程序 (客户端) ID对象 ID目录 (租户) ID;稍后需要它。 验证 “支持的帐户类型 ”是否设置为 “仅我的组织”。

为 Microsoft Entra 应用创建客户端密码 (可选)

注意

如果应用程序不需要客户端密码,则可以跳过此部分。 可以通过 操作自动执行 aadApp/create 此步骤。

  1. 转到应用的 “证书 & 机密 ”页,选择“ 客户端密码 ”,然后选择“ 新建客户端密码”。

    • 说明:客户端密码的说明。
    • 过期:客户端密码的过期时间。
    • 选择“添加”。
  2. 添加客户端密码后,按 “值 ”列下的“复制”按钮以复制 客户端密码

将访问权限创建为 Microsoft Entra 应用的用户范围, (可选)

注意

如果你的 M365 帐户有权更新 Microsoft Entra 应用,则可以跳过此部分。 我们将为你创建范围。 可以通过 操作自动执行 aadApp/update 此步骤。

  1. 转到应用的“公开 API”页,选择“此 API 定义的作用域”下的“添加范围”。

    • 选择“保存并继续”
    • 范围名称:填写 access_as_user
    • 谁可以同意?:选择 “管理员和用户”。
    • 管理员同意显示名称:填写 Teams 可以访问应用的 Web API
    • 管理员同意说明:填写 允许 Teams 以当前用户身份调用应用的 Web API
    • 用户同意显示名称:填写 Teams 可以访问应用的 Web API 并代表你发出请求
    • 用户同意说明:填写 “启用 Teams”,以使用你拥有的相同权限调用此应用的 Web API
    • 状态:选择 “已启用”。
    • 选择“添加作用域”。
  2. 在同一页上,选择“授权 的客户端应用程序 ”下的“添加 客户端应用程序”。

    • 客户端 ID:填写 1fec8e78-bce4-4aaf-ab1b-5451cc387264 ,即移动设备和客户端上 Microsoft Teams 的客户端 ID。
    • 授权范围:选择现有 access_as_user 范围。
    • 选择“添加应用程序”
  3. “添加客户端应用程序”上再次选择。

    • 客户端 ID:填写 5e3ce6c0-2b1f-4285-8d4b-75ee78787346 ,即 Teams 网页版客户端 ID。
    • 授权范围:选择现有 access_as_user 范围。
    • 选择“添加应用程序”
  4. 转到应用的“清单”页,将 oauth2Permissions 下的 ID 复制为 Access 作为用户范围 ID

从现有Microsoft Entra 应用获取必要信息

注意

如果按照上述说明创建Microsoft Entra 应用,则可以跳过此部分。

  1. 转到 Azure 门户 并选择“ Microsoft Entra ID”。

  2. 选择“ 应用注册 ”,并找到现有的Microsoft Entra 应用。

  3. 转到应用的 “概述 ”页,复制 应用程序 (客户端) ID对象 ID目录 (租户) ID;稍后需要它。 验证 “支持的帐户类型 ”是否设置为 “仅我的组织”。

  4. 转到应用的 “证书 & 机密 ”页,按 “值 ”列下的复制按钮复制 客户端密码

    注意

    如果无法复制机密,请按照 说明 创建新的客户端密码。

  5. 转到“应用 ”“公开 API ”页。 如果已在此 API 定义的作用域下添加了access_as_user范围并预先对两个 Teams 客户端 ID 进行身份验证,请转到应用的“清单”页,将 oauth2Permissions 下的 ID 复制为 Access As User Scope ID

在 TeamsFx 项目中设置必要信息

注意

如果不使用 aadApp/create 操作创建 Microsoft Entra 应用程序,则可以使用首选名称添加所需的环境变量,而无需执行以下步骤。

  1. 打开 teamsapp.yml 并查找操作 aadApp/create

  2. 在 属性中 writeToEnvironmentFile 查找存储 Microsoft Entra 应用信息的环境变量名称。 下面是使用 Teams 工具包创建项目的默认 writeToenvironmentFile 定义:

     writeToEnvironmentFile:
       clientId: AAD_APP_CLIENT_ID
       clientSecret: SECRET_AAD_APP_CLIENT_SECRET
       objectId: AAD_APP_OBJECT_ID
       tenantId: AAD_APP_TENANT_ID
       authority: AAD_APP_OAUTH_AUTHORITY
       authorityHost: AAD_APP_OAUTH_AUTHORITY_HOST
    
  3. 为步骤 2 中的每个环境变量添加值。

    1. 将以下环境变量及其值添加到 env\.env.{env} 文件中。

      AAD_APP_CLIENT_ID=<value of Microsoft Entra application's client id (application id)> # example: 00000000-0000-0000-0000-000000000000
      AAD_APP_OBJECT_ID=<value of Microsoft Entra application's object id> # example: 00000000-0000-0000-0000-000000000000
      AAD_APP_TENANT_ID=<value of Microsoft Entra's (tenant) id> # example: 00000000-0000-0000-0000-000000000000
      AAD_APP_OAUTH_AUTHORITY=<value of Microsoft Entra's authority> # example: https://login.microsoftonline.com/<Directory (tenant) ID>
      AAD_APP_OAUTH_AUTHORITY_HOST=<host of Microsoft Entra's authority> # example: https://login.microsoftonline.com
      AAD_APP_ACCESS_AS_USER_PERMISSION_ID=<id of access_as_user permission> # example: 00000000-0000-0000-0000-000000000000
      
    2. 如果应用程序需要Microsoft Entra 应用客户端密码,请将下面的环境变量及其值添加到 env\.env.{env}.user 文件中。

      SECRET_AAD_APP_CLIENT_SECRET=<value of Microsoft Entra application's client secret>
      

      注意

      如果在 中使用不同的名称,请记住更新示例中的环境变量名称 writeToEnvironmentFile

  4. 打开 Teams 工具包扩展,然后选择“ 在云中预配”。 等待项目成功预配。

将Microsoft Entra 应用清单上传到 Azure 门户

如果 Teams 工具包无法更新 Entra 应用Microsoft,将显示错误消息:

Insufficient privileges to complete the operation.

如果看到上述消息,请更新Microsoft Entra 应用权限,并按照说明更新权限。

  1. 在 下 build/aad.manifest.{env}.json查找Microsoft Entra 应用清单。

  2. 复制清单文件中的内容。

  3. 转到 Azure 门户 并选择“ Microsoft Entra ID”。

  4. 选择“ 应用注册 ”,并找到现有的Microsoft Entra 应用。

  5. 转到应用的 “清单 ”页,将清单内容粘贴到编辑器中,然后选择“ 保存 ”以保存更改。