更新 SSO 的应用清单并预览应用
在更新应用清单 (以前称为 Teams 应用清单) 之前,请确保选项卡应用代码配置为启用单一登录 (SSO) 。
你已在 Entra ID Microsoft 注册选项卡应用,并获得了应用 ID。 你还配置了代码以调用 getAuthToken()
和处理访问令牌。 现在,必须更新应用清单才能为选项卡应用启用 SSO。 应用清单介绍了应用如何集成到 Teams 中。
webApplicationInfo 属性
webApplicationInfo
在应用清单文件中配置 属性。 此属性为应用启用 SSO,以帮助应用用户无缝访问选项卡应用。
webApplicationInfo
有两个元素,id
和 resource
。
元素 | 说明 |
---|---|
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。
配置应用清单
请打开选项卡应用项目。
打开应用清单文件夹。
注意
- 应用清单文件夹应位于项目的根目录中。 有关详细信息,请参阅 创建 Microsoft Teams 应用包。
- 有关如何创建manifest.json的详细信息,请参阅 应用清单架构。
打开
manifest.json
文件将以下代码片段添加到应用清单文件以添加新属性:
"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。
-
从 id 属性中的 Microsoft Entra ID 更新应用 ID 。
更新以下属性中的子域 URL:
contentUrl
configurationUrl
validDomains
保存应用清单文件。 有关详细信息,请参阅 应用清单。
下面是更新的应用清单示例
{
"$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 环境中预览它。
若要在 Teams 中预览选项卡应用,请执行以下操作:
创建应用包。
应用包是包含应用清单文件和应用图标的 zip 文件。
打开 Teams。
选择“应用”>“管理应用”>“上传应用”。
将出现用于上传应用的选项。
选择“ 上传自定义应用 ”,将自定义选项卡应用上传到 Teams。
选择应用包 zip 文件,然后选择“添加”。
自定义选项卡应用已上传,并显示对话框,告知你可能需要的其他权限。
选择 继续。
此时将显示“Microsoft Entra 同意”对话框。
选择“接受”以同意 Open-ID 范围。
Teams 将打开选项卡应用,你可以使用它。
恭喜! 你已为选项卡应用启用 SSO。