PATCH请求SCIM 2.0

时间:2017-02-07 05:39:58

标签: json rest scim scim2

我们正在以SCIM规范向服务器发送PATCH请求。

根据SCIM规范,请求应在PATCH请求中包含以下属性。

  • 运算
  • 路径

因此,如果我们要更改' 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"
       }
     ]
}

3 个答案:

答案 0 :(得分:0)

在尝试修补"有效"时,我遇到了类似的错误。企业用户的价值。解决方案很简单:改变你的路径"上面例子中的值只是"部门"。

为了完整起见,这里是在Postman中为我工作的PATCH主体:

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

答案 1 :(得分:0)

与scim过滤器应遵守的ABNF一样(参见RFC 7644的3.4.2.2节),当你引用扩展的属性部分时,你应该做URI:attribute_path,所以在你的情况下这是&#34 ;瓮:IETF:PARAMS:SCIM:模式:扩展名:企业:2.0:用户:部门"

答案 2 :(得分:0)

属性'.Operations。[]。value'必须为哈希类型

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

希望这会起作用!