删除具有相同signInName

时间:2016-10-11 16:18:38

标签: azure azure-ad-graph-api azure-ad-b2c

我可以通过图形api在Azure AD B2C租户中成功创建用户。我也可以删除用户。

当我尝试再次插入具有相同signInName的用户时,请求将失败并显示以下消息:

"odata.error": {
"code": "Request_BadRequest",
"message": {
  "lang": "en",
  "value": "Another object with the same value for property signInNames already exists."
},
"date": "2016-10-11T15:53:58",
"requestId": "911fcff7-f2f0-4126-aa1e-3c03a757ac0d",
"values": [
  {
    "item": "PropertyName",
    "value": "signInNames"
  },
  {
    "item": "PropertyErrorCode",
    "value": "ObjectConflict"
  }
]
}
  • 等待几分钟后(5-20​​?)我可以成功插入带有原始signInName的用户。
  • 成功删除后,当我列出所有用户时,用户不可见。
  • 删除之前重命名用户工作正常,但我仍然无法使用原始signInName创建用户。

是否有可能加快速度?

2 个答案:

答案 0 :(得分:2)

创建服务主体时,您还创建了一个应用程序。 使用此命令也可以删除应用程序: remove-azurerdadapplication -objectId [key]

答案 1 :(得分:1)

我在Azure AD中遇到了同样的问题。

我不认为您的代码中可以执行任何操作来加快速度。 (Azure AD PM可以回答以下问题:删除操作在整个系统中传播的真正SLA是什么)

我想你所能做的就是考虑这个错误,就好像当你收到这个错误时用户真的在那里(尽管你可以在列表中看到它)。

不确定您的具体情况,但对我们来说这是一个非常有优势的案例。

我们在案例中考虑的另一个解决方法是:根本不删除用户,如果以后有可能需要具有相同ID的用户,则删除他们的角色

因为当用户被删除时,ObjectID或UserKey发生了变化,我们的系统中有对该ObjectId的引用,并且该对象ID将不再存在于Azure AD中,所以我们决定在大多数情况下保留用户,除非我们真的不得不删除它们。