5

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

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

  • 操作
  • 小路
  • 价值

因此,如果我们从核心模式更改“ givenName ”属性,那么 PATCH 请求将采用以下方式,(参考:https ://www.rfc-editor.org/rfc/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"
       }
     ]
}
4

3 回答 3

2

与 scim 过滤器应遵守的 ABNF 一样(请参阅 RFC 7644 的第 3.4.2.2 节),当您引用扩展的属性部分时,您应该执行 URI:attribute_path,所以在您的情况下,这是“urn:ietf:params :scim:schemas:extension:enterprise:2.0:User:department"

于 2018-05-15T19:49:47.743 回答
0

属性“.Operations.[].value”必须是哈希类型

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

希望这会奏效!!

于 2018-08-13T17:30:23.307 回答
0

尝试修补企业用户的“活动”值时,我遇到了类似的错误。解决方案很简单:将上面示例中的“路径”值更改为简单的“部门”。

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

{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
     {
       "op":"replace",
       "path":"active",
       "value":"false"
     }
  ]
}
于 2018-01-17T01:50:41.700 回答