Мы создали интеграцию SCIM с использованием пакета microsoft.systemForCrossDomainIdentityManagement
nuget, который был описан здесь:
Мы протестировали API-интерфейсы с помощью Postman, и они работают должным образом, но когда мы тестируем их с помощью Azure AD, запросы исправлений не выполняются.
Посмотрев на журналы и сузив их, мы пришли к выводу, что формат запроса отличается от того, который ожидает microsoft.systemForCrossDomainIdentityManagement.
Один запрос на исправление от AD выглядит так, как показано ниже (который не удастся):
{"схемы": ["urn: ietf: params: scim: api: messages: 2.0: PatchOp"], "Операции": [{"op": "Заменить", "путь": "displayName", "значение" : "Пользователь X"}]}
Хотя запрос, который работает, выглядит так:
{"схемы": ["urn: ietf: params: scim: api: messages: 2.0: PatchOp"],
"Операции": [{"op": "Заменить", "путь": "displayName", "value":
[{"$ ref": null, "value": "Пользователь x"}]}]
}}
- Обратите внимание на разницу между двумя запросами, которые в первом вызове представляют собой строку, а во втором - список объектов.
Как это исправить?
Пакет Nuget принимает запрос и доставляет IPatchRequest, поэтому запрос даже не поступает в нашу часть кода, и обе части принадлежат Microsoft: |