我在我的网站上开发了一项功能,允许使用Azure登录。
因此,我的网站中的用户可以使用以下方式登录:
Azure(OAuth2)。我们正在使用多租户应用。我们只是使用该应用程序登录用户。所以我们并没有真正使用Access-Token来发出请求。我们只使用访问令牌来获取用户电子邮件(使用JWT解码)。
他们可以在我的网站上设置自己的电子邮件密码。
这会产生问题:
想象一个开始在公司工作的人。 IT团队向他发送一封属于其Azure帐户(包含其帐户域)的电子邮件。该团队在我的网站上也有一个帐户(配置了他们在Azure上使用的相同域名)。因此,此用户将尝试使用其凭据登录我的网站。我们将在他们的公司帐户上创建他的个人资料(由于电子邮件域名)。他设置了密码。有时他使用Azure登录,有时他使用他的电子邮件密码登录。
下个月,这个人被解雇了。 IT团队将他从Azure中删除。虽然,IT团队忘记了在我的网站上删除他。因此,此用户有权使用他的电子邮件密码凭据登录,并且仍然可以查看私人信息(他甚至可以删除私人文件)。
我想知道是否有办法将我的应用与每个使用它的目录同步。所以我将能够收到用户操作通知(如用户删除)。接收到有关用户重要操作信息的端点的调用会很棒。这样我们也可以从我们的平台中删除用户。因此,公司可以忘记在我的网站上删除用户而不会出现被盗信息问题。
PS:我已经看到你使用SAML进行了注销同步,但我想知道我们是否能够接收其他类型的通知,因为我们不想在注销时注销用户天青。答案 0 :(得分:0)
如果您获得前用户租户管理员的许可才能访问其目录,则可以使用Microsoft Graph API
检查是否列出了该用户答案 1 :(得分:0)
我一直在与微软支持人员交谈,而且没有办法让微软呼叫我们的终端接收一些通知。
所以唯一的解决方案就是要求管理员权限,或者从Oauth2获取refresh_token,检查用户是否仍然出现在Graph(https://graph.microsoft.com/v1.0/me)上。