We have created a SCIM integration using
microsoft.systemForCrossDomainIdentityManagement
nuget package which has been described in here:
We have tested the APIs using Postman and they work as they should but when we test them with Azure AD the patch requests fail.
Looking at the logs and narrowing them down we figured that the request is not in the same format as what microsoft.systemForCrossDomainIdentityManagement expects.
One patch request from AD is like below (which will fail):
{ "schemas":["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ {"op":"Replace","path":"displayName","value":" User X"} ]}
While the request that works is like this:
{"schemas":["urn:ietf:params:scim:api:messages:2.0:PatchOp"] ,
"Operations":[ {"op":"Replace","path":"displayName","value":
[ {"$ref":null,"value":"User x"}]}]
}}
- Please note the difference between 2 requests which in the 1st call is a string and in the second one is a list of objects.
How should we fix this?
The Nuget package take the request and deliver the IPatchRequest so the request doesn't even receive to our part of the code and both parts are Microsoft :|