我们创建了一个 Webhook,用于在从 Azure AD 删除用户时接收“删除”通知。但当我们删除用户时,我们没有收到任何通知。在 AAD 中,用户首先被放入回收站,但如果我们从回收站中删除用户,我们也不会收到任何通知。 我们已经尝试过接收电子邮件的代码 -> 有效。通过更改 AAD 中的用户 -> 这也有效。因此我们将“已更新”更改为“已删除”,并且不会触发任何调用。
我们从 de 文档 ( https://learn.microsoft.com/en-us/graph/webhooks ) 和 Microsoft 提供的示例代码 ( https://github.com/microsoftgraph/aspnet-webhooks-rest-sample ) 开始
我们使用权限范围: 用户.Read.All 和目录.Read.All
Graph Webhook 订阅: 资源:“用户” ChangeType:“已删除”
当我们将“updated”指定为 ChangeType 时,我们收到了预期的通知。但 ChangeType“已删除”没有发出任何通知。 这是不支持的,还是我们缺少权限...... 希望有人能帮忙。
最佳答案
当您订阅已删除
事件时,您只会收到硬删除用户的通知。用户几乎总是一开始被“软删除”,然后在 30 天后被自动永久删除。
对于这两种情况,权限User.Read.All就足够了。
当用户被“软删除”时,事件会发送到订阅更新
更改的应用。这是一个示例(您必须相信我这是由于软删除造成的,因为这与常规属性更改的事件相同):
{
"value": [
{
"changeType": "updated",
"clientState": null,
"resource": "Users/514ffc40-afef-4ad9-bc1f-4ad3e425fcec",
"resourceData": {
"@odata.type": "#Microsoft.Graph.User",
"@odata.id": "Users/514ffc40-afef-4ad9-bc1f-4ad3e425fcec",
"id": "514ffc40-afef-4ad9-bc1f-4ad3e425fcec",
"organizationId": "1c411c5e-78cc-4e89-af5e-169408a540b7",
"sequenceNumber": 636921552671905776
},
"subscriptionExpirationDateTime": "2019-05-01T17:13:30.289+00:00",
"subscriptionId": "cfbfa7fc-0771-4394-b563-cff3f8140d02",
"tenantId": "1c411c5e-78cc-4e89-af5e-169408a540b7"
}
]
}
当用户被永久删除(30 天后自然删除,或由管理员手动删除)时,订阅deleted
的应用将收到通知。这是一个例子:
{
"value": [
{
"changeType": "deleted",
"clientState": null,
"resource": "Users/514ffc40-afef-4ad9-bc1f-4ad3e425fcec",
"resourceData": {
"@odata.type": "#Microsoft.Graph.User",
"@odata.id": "Users/514ffc40-afef-4ad9-bc1f-4ad3e425fcec",
"id": "514ffc40-afef-4ad9-bc1f-4ad3e425fcec",
"organizationId": "1c411c5e-78cc-4e89-af5e-169408a540b7",
"sequenceNumber": 636921556468034066
},
"subscriptionExpirationDateTime": "2019-05-01T17:13:30.289+00:00",
"subscriptionId": "ce04c176-370d-4b67-9da6-05c441186756",
"tenantId": "1c411c5e-78cc-4e89-af5e-169408a540b7"
}
]
}
关于azure - 我们的 MS Graph Webhook 未收到删除 AAD 中用户的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55904620/