我想订阅用户删除操作,以便无论何时在Azure AD中删除用户,我们的应用程序都可以做出相应的反应。
这是我的订阅请求:
const now = new Date();
const threeDaysLater = new Date(now.getTime() + 3 * 24 * 58 * 60 * 1000);
request.post({
auth: {
bearer: {...},
},
headers: {
Accept: 'application/json',
},
json: {
changeType: 'updated,deleted',
clientState: {...},
expirationDateTime: threeDaysLater.toISOString(),
notificationUrl: 'https://{...}.ngrok.io/api/azure/webhook',
resource: 'users',
latestSupportedTlsVersion: 'v1_2',
},
url: 'https://graph.microsoft.com/v1.0/subscriptions',
});
发送此请求后,我收到了一个对我的notificationUrl
的请求,并使用验证令牌对其进行了回复。
然后我从初始请求中收到以下响应:
{
'@odata.context':
'https://graph.microsoft.com/v1.0/$metadata#subscriptions/$entity',
id: {...},
resource: 'users',
applicationId: {...},
changeType: 'updated,deleted',
clientState: {...},
notificationUrl: 'https://{...}.ngrok.io/api/azure/webhook',
expirationDateTime: '2020-03-22T11:52:36.328Z',
creatorId: {...},
latestSupportedTlsVersion: 'v1_2'
}
但是,当我实际上进入Azure AD并删除用户时,我从未收到对终结点计算机的任何请求...我在这里做错了什么主意吗?
我见过Not receiving a request on our MS Graph Webhook for deleting a User in AAD,但我都等了30分钟,并尝试了软删除和硬删除。似乎都没有触发对我的端点的任何请求。
答案 0 :(得分:2)
好吧,显然我只是没有足够的耐心。 MS发送这些通知请求可能需要小时。
如果您正在开发Webhook终结点,并希望对其进行测试/调试,请在Azure AD中执行操作,然后执行其他几个小时的操作,直到最终获得请求。 ?