Subject: [scim] Extend core schema multivalue complex attribute

From: "Karaimin, Aleyidin" <[email-masked]>
Date: Mon, 19 Oct 2020 10:56:41 +0000

Hi

I would like to ask you for possible way to extend multivalue attribute. Our use cases require to support additional sub-attributes for some User and Groups multivalue complex attributes. For example:

{
                "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
    ],
    "userName": "sample",
    "emails": [
                {
                                "type": "work",
                                "value" "[email-masked]",
                                "otherAttribute": "value" // the name is known (It is defined by us)
                }
    ]
}

According to spec, this will conflict with the core schema. I know that I could define extension schema and add this attribute but this would lead to a lot duplicate data.

{
                "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
    ],
    "userName": "sample",
    "emails": [
                {
                                "type": "work",
                                "value" "[email-masked]",
                                ...
                }
    ],
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:Emails" : {
                "emails": [
                {
                                "type": "work",
                                "value" "[email-masked]",
                                "otherAttribute": "value" // the name is known (It is defined by us)
                                ...
                }
    ]
    }
}

My question is if there is another solution to achieve this.
Thank you.

Best Regards
Aleydin

---

From: Phillip Hunt <[email-masked]>
Date: Tue, 20 Oct 2020 12:54:07 -0700

Aleyidin

At present there is no way to do this. :-(

Best way I have seen is to move the whole CMVA attribute to the extension. 

Splitting attributes across schemas will like break most parsers as this is not expected. 

Extending existing complex attributes is well worth discussing in the scim.next discussion. Being able to add sub-attributes like “verified” is very useful. 

Another solution might be simply to add the new attribute to your core User schema definition. You won’t be running 100% standard schema but at lease your schemas endpoint would be discoverable and clients can understand the new attribute definition there.  Clients that don’t read the schemas will likely just ignore the attribute...which in many cases is fine since they don’t understand it anyway. 

There are also many cases where a scim endpoint does not support the full standard schema.  SCIM clients in general should expect some deployment differences which can be uncovered by looking at actual schema definition at the schemas endpoint. 

At the very least a best practice document from the group would be helpful. 

Phil

> On Oct 19, 2020, at 3:56 AM, Karaimin, Aleyidin <[email-masked]> wrote:
> 
> 
> Hi
>  
> _______________________________________________
> scim mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/scim