使用Azure AD在SCIM中进行补丁请求

问题描述

对于最初添加时没有任何地址(甚至没有空地址数组)的用户,我应该如何处理以下PATCH请求?

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],"Operations": [
        {
            "op": "Add","path": "addresses[type eq \"work\"].formatted","value": "Columbus"
        }
    ]
}

我是否应该“主动”创建一个具有以下单个值的地址数组(这似乎是一个非常糟糕的解决方案)?

{"type": "work",formatted: "Columbus"}

我希望补丁请求看起来像这样:

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],"Operations":[{
       "op":"add","value":{
         "addresses":[
           {
             "formatted":"Columbus","type":"work"
           }
         ]
     }]
}

解决方法

如果尚无数组,则应创建数组,然后将值添加到数组。您可以提前将其设置为空数组,或者可以将值保留为null直到需要将值添加到数组的那一点,然后在那时创建数组,然后将值添加到其中。请检查此l ink