我们的 MS Graph Webhook 未收到删除 AAD 中用户的请求

Chr*_*ian 3 azure webhooks azure-active-directory microsoft-graph-api

我们创建了一个 Webhook,用于在从 Azure AD 删除用户时接收“删除”通知。但当我们删除用户时,我们没有收到任何通知。在 AAD 中,用户首先被放入回收站,但如果我们从回收站中删除用户,我们也不会收到任何通知。我们已经尝试过接收电子邮件的代码 -> 有效。通过更改 AAD 中的用户 -> 这也有效。因此我们将“更新”更改为“删除”,并且不会触发任何调用。

我们从文档(https://learn.microsoft.com/en-us/graph/webhooks)和微软提供的示例代码(https://github.com/microsoftgraph/aspnet-webhooks-rest-sample)开始

我们使用权限范围:User.Read.All 和 Directory.Read.All

Graph Webhook 订阅:资源:“users”ChangeType:“deleted”

当我们将“updated”指定为 ChangeType 时,我们如预期收到了通知。但 ChangeType“已删除”没有发出任何通知。这是不支持的,还是我们缺少权限......我希望有人可以提供帮助。

Phi*_*ret 5

当您订阅deleted事件时,您只会收到硬删除用户的通知。用户一开始几乎总是被“软删除”,然后在 30 天后被自动永久删除。

对于这两种情况,权限User.Read.All就足够了。

当用户被“软删除”时,事件将发送到订阅updated更改的应用程序。这是一个示例(您必须相信我这是由于软删除造成的,因为这与常规属性更改的事件相同):

{
    "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"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

当用户被永久删除(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"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢您的回答。我们现在已经可以使用了。一句可以帮助其他开发人员的评论:通知将在几分钟后到达。当使用“接收电子邮件”调试示例时,我们在几秒钟内收到了一条通知。在调试已删除的用户时,我们似乎没有收到通知。大约 5 到 10 分钟后,我们收到通知,所以请耐心等待;-) (3认同)
  • 来自[文档](https://learn.microsoft.com/en-us/graph/api/resources/subscription?view=graph-rest-1.0):“用户和组通知支持‘更新’和‘删除’改变类型。” 创建新用户时,订阅“updated”的应用程序将收到通知。 (2认同)