我们已经使用
microsoft.systemForCrossDomainIdentityManagement
nuget 包创建了一个 SCIM 集成,此处已对其进行了描述:
我们已经使用 Postman 测试了 API,它们可以正常工作,但是当我们使用 Azure AD 测试它们时,补丁请求会失败。
查看日志并缩小范围,我们发现请求的格式与 microsoft.systemForCrossDomainIdentityManagement 期望的格式不同。
来自 AD 的一个补丁请求如下所示(将失败):
{ "模式":["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ {"op":"Replace","path":"displayName","value" :"用户 X"} ]}
虽然有效的请求是这样的:
{"schemas":["urn:ietf:params:scim:api:messages:2.0:PatchOp"] ,
“操作”:[ {“操作”:“替换”,“路径”:“显示名称”,“值”:
[ {"$ref":null,"value":"用户 x"}]}]
}}
- 请注意 2 个请求之间的区别,第一个调用是字符串,第二个调用是对象列表。
我们应该如何解决这个问题?
Nuget 包接受请求并传递 IPatchRequest,因此请求甚至不会接收到我们的代码部分,并且这两部分都是 Microsoft :|