Я пытаюсь подготовить SCIM 2.0 с помощью Azure AD
В качестве предпосылки у меня есть SCIM как сервер для моего продукта, и я реализую конечные точки PATCH для использования с Okta и Microsoft Azure AD.
Я закончил тестирование с Okta, поэтому сейчас пытаюсь использовать Azure AD.
Я прочитал этот пост active-directory-scim- подготовка и спецификация SCIM 2.0 раздел 3.5.2 .
Я установил корпоративное приложение в нашей Azure AD со следующим сопоставлением
Затем Azure AD отправляет следующий запрос JSON POST для создания пользователей, назначенных приложению на моем сервере:
POST:
{
"active": true,
"displayName": "$DISPLAY_NAME",
"emails": [
{
"primary": true,
"type": "work",
"value": "$EMAIL"
}
],
"externalId": "$EXTERNAL_ID",
"meta": {
"resourceType": "User"
},
"name": {
"formatted": "$FORMATTED"
},
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
],
"userName": "$USER_NAME"
}
Я могу правильно обработать запрос POST, но не могу использовать запрос PATCH из Azure AD.
ПАТЧ:
{
"Operations": [
{
"op": "Replace",
"path": "name.givenName",
"value": [
{
"$ref": null,
"value": "$VALUE"
}
]
},
{
"op": "Replace",
"path": "name.familyName",
"value": [
{
"$ref": null,
"value": "$VALUE"
}
]
}
],
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
]
}
Верно ли (согласно спецификации), что атрибут value
относится к типу Array, даже если целью является однозначный атрибут? Правильно ли в этом случае использование атрибута $ref
?
Или я неправильно понял спецификацию?