使用多租户应用程序与 Azure Active Directory 同步(接收用户通知)

Sync with Azure Active Directory with a multi-tenant app (receiving user notifications)

我在我的网站上开发了一个允许使用 Azure 登录的功能。

因此我网站中的用户可以使用以下方式登录:


这会产生一个问题:

想象一个人开始在一家公司工作。 IT 团队给他一封属于他们的 Azure 帐户(带有他们的帐户域)的电子邮件。该团队在我的站点上也有一个帐户(配置的域与他们在 Azure 上使用的域相同)。所以这个用户将尝试使用他的凭据登录我的站点。我们将在他们的公司帐户上创建他的个人资料(由于电子邮件域)。他设置了密码。有时他使用 Azure 登录,有时他使用他的电子邮件密码登录。

下个月,这个人被解雇了。 IT 团队将他从 Azure 中删除。虽然,IT 团队忘了在我的网站上也删除他。所以这个用户有权使用他的电子邮件密码凭据登录,并且仍然能够看到私人信息(他甚至可以删除私人文件)。


我想知道是否有办法将我的应用程序与使用它的每个目录同步。所以我将能够收到用户操作通知(如用户删除)。如果能收到包含用户重要操作信息的端点调用,那就太好了。这样我们也可以从我们的平台上删除用户。这样公司就可以忘记删除我网站上的用户而不会出现信息被盗问题。

PS:我看到你们使用 SAML 进行注销同步,但我想知道我们是否能够收到其他类型的通知,因为我们不想让用户注销当这从 Azure 注销时。

如果您从前用户租户管理员那里获得了访问他们目录的权限,您可以使用Microsoft Graph API

检查用户是否在列表中

我一直在与 Microsoft 支持人员交谈,但无法让 Microsoft 调用我们的端点来接收一些通知。

所以唯一的解决方案是请求管理员权限,或者从 Oauth2 获得 refresh_token,检查用户是否仍然出现在图表上 (https://graph.microsoft.com/v1.0/me)。