繁体   English   中英

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

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

我在网站上开发了一项功能,该功能允许使用Azure登录。

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

  • Azure(OAuth2)。 我们正在使用多租户应用程序。 我们只是使用该应用程序登录用户。 因此,我们实际上并没有使用访问令牌来发出请求。 我们仅使用访问令牌来获取用户电子邮件(使用JWT对其进行解码)。

  • 他们可以在我的网站上设置自己的电子邮件密码。


这就产生了一个问题:

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

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


我想知道是否有一种方法可以将我的应用程序与使用它的每个目录同步。 这样我就可以接收用户操作通知(例如用户删除)。 最好收到一个包含有关用户重要操作信息的终结点呼叫。 这样,我们也可以从平台上删除用户。 因此,公司可以忘记删除我网站上的用户而不会遇到信息被盗的问题。

PS:我已经看到您使用SAML进行了注销同步,但是我想知道我们是否能够接收其他类型的通知,因为我们不希望在从Azure注销时注销用户。

如果您拥有前用户租户管理员的权限来访问其目录,则可以使用Microsoft Graph API检查该用户是否已列出

我一直在与Microsoft支持部门交谈,没有办法让Microsoft调用我们的端点来接收一些通知。

因此,唯一的解决方案是询问管理员权限,或者从Oauth2获得refresh_token,然后检查用户是否仍然出现在Graph( https://graph.microsoft.com/v1.0/me )上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM