Запрос PATCH для SCIM 2.0

Мы отправляем запрос PATCH на сервер в спецификации SCIM.

Согласно спецификациям SCIM, запрос должен содержать следующие атрибуты в запросе PATCH.

  • op
  • дорожка
  • ценить

Поэтому, если мы изменяем атрибут 'givenName' из основной схемы, запрос PATCH будет следующим (ref: https://tools.ietf.org/html/rfc7644#section-3.5.2)

{
 "schemas" : ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
     "Operations":[
       {
        "op":"replace",
        "path":"name.givenName",
        "value":"Ravindra"
       }
     ]
}

Теперь, каким должен быть атрибут «путь», если вы изменяете какое-либо расширение SCIM, скажем, расширение предприятия.

Правильно ли следующее представление для расширения предприятия?

{
 "schemas" : ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
     "Operations":[
       {
        "op":"replace",
        "path":"urn:ietf:params:scim:schemas:extension:enterprise:2.0:user.department",
        "value":"Engineering"
       }
     ]
}

person Ravi    schedule 07.02.2017    source источник
comment
можем ли мы также сделать это, как показано ниже `Операции: [{op: replace, path: urn: ietf: params: scim: schemas: extension: enterprise: 2.0: user, value: {department: Engineering}}]` Как и я, тоже случается иметь аналогичные требования, но нужна ваша помощь   -  person kakabali    schedule 17.04.2019


Ответы (3)


Как и в случае с ABNF, которому должны соответствовать фильтры scim (см. Раздел 3.4.2.2 RFC 7644), когда вы ссылаетесь на атрибутную часть расширения, вы должны использовать URI: attribute_path, поэтому в вашем случае это "urn: ietf: params : scim: схемы: расширение: предприятие: 2.0: Пользователь: отдел "

person Jose    schedule 15.05.2018

Я получал аналогичную ошибку при попытке ПАТЧИРОВАТЬ "активное" значение корпоративного пользователя. Решение простое: измените значение «пути» в приведенном выше примере на просто «отдел».

Для полноты, вот тело PATCH, которое работало у меня в Postman:

{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
     {
       "op":"replace",
       "path":"active",
       "value":"false"
     }
  ]
}
person bmontalvo    schedule 17.01.2018

Атрибут ".Operations. []. Value" должен иметь тип hash.

{
  "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User"
  ],
  "Operations": [
    {
      "op": "replace",
      "value": {
        "active": false
      }
    }
  ]
}

Надеюсь, это сработает !!

person Ranjith Manickam    schedule 13.08.2018