GraphConnectorNotificationPlugin
模拟在 Teams 管理员 Center (TAC) 中启用或禁用 Microsoft Graph 连接器时的通知。 验证创建和删除外部连接的请求。
若要发出配置的通知请求,请在运行 Dev 代理的命令提示符会话中按 。w
发出通知请求
使用 GraphConnectorNotificationPlugin
额外的功能扩展 , MockRequestPlugins
以模拟来自 TAC 的通知。
令牌 | 说明 |
---|---|
@dynamic.validationToken |
用于验证通知真实性的 JWT 令牌。 开发代理将其替换为由 Dev Proxy CA 证书签名的有效 JWT 令牌。 |
验证处理通知和发出 Graph 连接器请求
在模拟通知请求旁边, GraphConnectorNotificationPlugin
验证通知 API 是否正确处理通知并发出正确的 Microsoft Graph 请求。
为了处理 TAC 通知,插件会检查 API 是否发送没有正文的 202 接受响应。 此外,该插件会检查对 Microsoft Graph 终结点的 /external/connections/*
POST 和 DELETE 请求。 它会检查请求是否包含标头以及 GraphConnectors-Ticket
通知中指定的票证。 如果任一检查失败,插件将记录错误。
插件实例定义
{
"name": "GraphConnectorNotificationPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "graphConnectorNotificationEnabled"
}
配置示例
{
"graphConnectorNotificationEnabled": {
"mockFile": "graph-connector-notification-enabled.json",
"tenant": "fa15d692-e9c7-4460-a743-29f29522229",
"audience": "00001111-aaaa-2222-bbbb-3333cccc4444"
}
}
配置属性
属性 | 说明 | 默认 | 必需 |
---|---|---|---|
audience |
Microsoft Graph 连接器用于对通知请求进行身份验证的Microsoft Entra应用注册 ID | empty | 是 |
mockFile |
包含模拟请求的文件的路径 | mock-request.json |
是 |
tenant |
Microsoft Graph 连接器在其中创建外部连接的租户 ID | empty | 是 |
命令行选项
无
模拟请求文件示例
下面是几个 API 文件示例,这些文件定义有关客户信息的 CRUD API。
启用 Microsoft Graph 连接器 TAC 通知
下面是当用户启用 Microsoft Graph 连接器时 Teams 管理员 中心发送的通知示例。
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.16.0/mockrequestplugin.schema.json",
"request": {
"url": "http://localhost:3000/api/notification",
"method": "POST",
"body": {
"value": [
{
"changeType": "updated",
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resource": "external",
"clientState": null,
"resourceData": {
"@odata.type": "#Microsoft.Graph.connector",
"@odata.id": "external",
"id": "35177924-33fc-444d-bd51-f059ce385ec2",
"state": "enabled",
"connectorsTicket":"eyJhbGciOiJIUzI1"
},
"subscriptionExpirationDateTime": "2021-06-26T12:40:26.4436785-07:00",
"tenantId": "fa15d692-e9c7-4460-a743-29f29522229"
}
],
"validationTokens": [ "@dynamic.validationToken" ]
}
}
}