SCIM Attribute Extensions to Resources


A SCIM Resource

SCIM may be extended to define new classes of SCIM Resources by defining a new SCIM meta.ResourceType.

Each SCIM meta.ResourceType defines the name, endpoint, base schema (the attributes), and any schema extensions registered for use with the resource type. In order to offer new types of resources, a service provider defines the new resource type as specified in Section 6 and defines a schema representation (see Section 8.7 RFC 7643).

SCIM also allows SCIM Core Resources to have extensions in addition to their SCIM Core Schema.

This is similar to how "objectClasses" are used in LDAP RFC 4512. However, unlike LDAP, there is no inheritance model. All extensions are additive (similar to the LDAP AUXILIARY objectClasses

Each value in the SCIM Schemas Attribute indicates additive schema that MAY exist for a SCIM Resource representation. The SCIM Schemas Attribute MUST contain at least one value, which SHALL be the base schema for the SCIM Resource.

The SCIM Schemas Attribute MAY contain additional values indicating SCIM Extended Attributes that are in use. SCIM schemaExtensions SHOULD avoid redefining any attributes defined in RFC 7643 and SHOULD follow conventions defined in RFC 7643. Except for the base object schema, the schema extension URI SHALL be used as a JSON container to distinguish attributes belonging to the extension namespace from base schema attributes.

See Figure 5, which is an example of the JSON representation of an enterprise User and is also an example of a User with extended schema.

In order to determine which URI value in the SCIM Schemas Attribute is the SCIM Base Schema and which is an SCIM schemaExtensions for any given SCIM Resource, the SCIM Resource's SCIM meta.ResourceType attribute value MAY be used to retrieve the SCIM Resource's SCIM meta.ResourceType schema (see Section 6). See the "ResourceType" representation in Figure 8 for an example.

More Information#

There might be more information for this subject on one of the following: