更新 SSO 的应用清单并预览应用

在更新应用清单 (以前称为 Teams 应用清单) 之前,请确保选项卡应用代码配置为启用单一登录 (SSO) 。

你已在 Entra ID Microsoft 注册选项卡应用,并获得了应用 ID。 你还配置了代码以调用 getAuthToken() 和处理访问令牌。 现在,必须更新应用清单才能为选项卡应用启用 SSO。 应用清单介绍了应用如何集成到 Teams 中。

webApplicationInfo 属性

webApplicationInfo在应用清单文件中配置 属性。 此属性为应用启用 SSO,以帮助应用用户无缝访问选项卡应用。

  显示应用清单配置的屏幕截图。

webApplicationInfo 有两个元素,idresource

元素 说明
id 输入在 entra ID 中创建的应用 ID (GUID) Microsoft。
resource 在创建范围时,输入应用的子域 URI 和在 Microsoft Entra ID 中创建的应用程序 ID URI。 可以从 “Microsoft Entra ID>公开 API ”部分复制它。

注意

使用应用清单版本 1.5 或更高版本实现 webApplicationInfo 属性。

Microsoft Entra ID 中注册的应用程序 ID URI 配置了公开的 API 的范围。 在 中 resource 配置应用的子域 URI,以确保 使用的 getAuthToken() 身份验证请求来自应用清单中给定的域。

有关详细信息,请参阅 webApplicationInfo

配置应用清单

  1. 请打开选项卡应用项目。

  2. 打开应用清单文件夹。

    注意

  3. 打开 manifest.json 文件

  4. 将以下代码片段添加到应用清单文件以添加新属性:

    "webApplicationInfo":
    {
    "id": "{Microsoft Entra AppId}",
    "resource": "api://subdomain.example.com/{Microsoft Entra AppId}"
    }
    

    其中,

    • {Microsoft Entra AppId} 是在 Entra ID 中注册应用时创建的应用 ID,Microsoft。 这是 GUID。
    • subdomain.example.com 是在 Entra ID 中创建范围时注册的应用程序 ID URI Microsoft。
  5. 从 id 属性中的 Microsoft Entra ID 更新应用 ID

  6. 更新以下属性中的子域 URL:

    1. contentUrl
    2. configurationUrl
    3. validDomains
  7. 保存应用清单文件。 有关详细信息,请参阅 应用清单


下面是更新的应用清单示例
{
  "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.11/MicrosoftTeams.schema.json",
  "manifestVersion": "1.11",
  "version": "1.0.0",
  "id": "bccfbe67-e08b-4ec1-a7fd-e0aaf41a097c",
  "developer": {
    "name": "Microsoft",
    "websiteUrl": "https://www.microsoft.com",
    "privacyUrl": "https://www.microsoft.com/privacy",
    "termsOfUseUrl": "https://www.microsoft.com/termsofuse"
  },
  "name": {
    "short": "Teams Auth SSO",
    "full": "Teams Auth SSO"
  },
  "description": {
    "short": "Teams Auth SSO app",
    "full": "The Teams Auth SSO app"
  },
  "icons": {
    "outline": "outline.png",
    "color": "color.png"
  },
  "accentColor": "#60A18E",
  "staticTabs": [
    {
      "entityId": "auth",
      "name": "Auth",
      "contentUrl": "https://contoso.com/Home/Index",
      "scopes": [ "personal" ]
    }
  ],
  "configurableTabs": [
    {
      "configurationUrl": "https://contoso.com/Home/Configure",
      "canUpdateConfiguration": true,
      "scopes": [
        "team"
      ]
    }
  ],
  "permissions": [ "identity", "messageTeamMembers" ],
  "validDomains": [
    "contoso.com"
  ],
  "webApplicationInfo": {
    "id": "bccfbe67-e08b-4ec1-a7fd-e0aaf41a097c",
    "resource": "api://contoso.com/bccfbe67-e08b-4ec1-a7fd-e0aaf41a097c"
  }
}

注意

在调试期间,可以使用 ngrok 在 Entra ID Microsoft测试应用。 在这种情况下,需要将 中的 api://subdomain.example.com/00000000-0000-0000-0000-000000000000 子域替换为 ngrok URL。 每当 ngrok 子域发生更改时,都需要更新 URL。 例如,api://23c3-103-50-148-128.ngrok.io/bccfbe67-e08b-4ec1-a7fd-e0aaf41a097c。

在 Teams 中上传自定义应用和预览

你已将选项卡应用配置为在 Microsoft Entra ID、应用代码和应用清单文件中启用 SSO。 现在可以在 Teams 中上传自定义选项卡应用,并在 Teams 环境中预览它。

SSO 应用

若要在 Teams 中预览选项卡应用,请执行以下操作:

  1. 创建应用包。

    应用包是包含应用清单文件和应用图标的 zip 文件。

  2. 打开 Teams。

  3. 选择“应用”>“管理应用”>“上传应用”。

    将出现用于上传应用的选项。

  4. 选择“ 上传自定义应用 ”,将自定义选项卡应用上传到 Teams。

  5. 选择应用包 zip 文件,然后选择“添加”。

    自定义选项卡应用已上传,并显示对话框,告知你可能需要的其他权限。

  6. 选择 继续

    “Teams”对话框通知所需的其他权限

    此时将显示“Microsoft Entra 同意”对话框。

  7. 选择“接受”以同意 Open-ID 范围。

    Microsoft Entra 同意对话框

    Teams 将打开选项卡应用,你可以使用它。

    已启用 SSO 的 Teams 选项卡应用示例

    恭喜! 你已为选项卡应用启用 SSO。

另请参阅