8

我实现了 SCIM API 并与 Azure 集成。

当我在 AzureAD 中删除用户时,它不会发送 DELETE 请求。我尝试从应用程序以及目录中删除。

Get Users/[userID]、Get Query 和 POST /Users 工作正常。我也收到了 PATCH 请求,但是由于我没有实现 PATCH,所以返回 404。

  1. 为什么它不发送 DELETE 请求?根据Azure AD SCIM 文档,它应该发送 DELETE 请求。

  2. AzureAD 如何跟踪 SCIM 服务发送的 User 的“Id”属性,是来自 SCIM 响应的“Id”属性还是使用 Meta/Location 属性中的 Uri。这个问题的原因是,当我在 AzureAD 中删除用户时,它将如何知道用户的 Id。

4

2 回答 2

2

为了回答第一个问题,Azure AD 预配服务仅在用户从 Azure AD 中硬删除后才会发送 DELETE 请求。

以下是有关 Azure AD 中删除工作原理的详细信息:

https://david-obrien.net/2014/12/recover-deleted-users-azure-active-directory/

http://www.exchangeitpro.com/2016/10/20/permanently-delete-user-from-office-365-all-you-need-to-know/

如果从门户中删除用户,他们将进入软删除状态。它们会在该状态下停留 30 天,之后会被硬删除。

当用户在 Azure AD 中被软删除时,Azure AD 预配服务将向应用发送请求以禁用帐户。

最终硬删除后,Azure AD 将请求发送到应用程序以删除用户。

于 2017-10-21T01:39:26.283 回答
1

我想在 Aaron 的回答中补充几点:

Azure AD 删除用户或禁用它基于:

 - If a user that was previously in scope for provisioning is removed from scope, including being unassigned, the service disables the user in the target system via an update.

 - If a user that was previously in scope for provisioning is disabled or soft-deleted in the source system, the service disables the user in the target system via an update.

 - If a user that was previously in scope for provisioning is hard-deleted in the source system, the service deletes the user in the target system. In Azure AD, users are hard-deleted 30 days after they're soft-deleted.
  • Azure AD 发送 PATCH 调用以更新用户的状态(活动或禁用)。根据补丁调用的主体,开发人员应更新其应用程序中的禁用或启用。

  • Azure AD 执行 GET 请求以获取有关用户的所有信息。它保持应用程序中的用户和AD之间的映射。因此,由于 GET 调用,该 ID 将可供 AD 使用。

于 2019-12-26T07:02:45.037 回答