Gabriel Bauman
Gabriel Bauman

Reputation: 2416

Are there authoritative JSON schema definitions for SCIM 2.0 schemas?

I've been unable to find authoritative schema definitions in JSON format for resources and messages defined in the SCIM 2.0 RFCs.

While the RFCs are pretty specific and a number of SCIM endpoint implementations do publish their JSON schemas (many slightly different or modified, sadly), it would be nice if there were a repository with an authoritative set for each of the standard URNs:

Can anyone point me at such a thing?

Upvotes: 2

Views: 930

Answers (3)

Ewan Sadie
Ewan Sadie

Reputation: 19

I would also like a pure RFC based Openapi schema be validate different implementations against.

Upvotes: -1

Dag Høidahl
Dag Høidahl

Reputation: 8345

Not entirely an answer to the question, but for anyone else searching for machine-readable schema definitions, there's an OpenAPI schema created by the Gluu Federation at https://github.com/GluuFederation/scim/blob/master/scim-server/src/main/resources/gluu-scim-openapi.yaml

It's not authoritative, and it includes some Gluu-specific extensions that you may want to remove, but it's a useful starting point.

Upvotes: 1

Zollnerd
Zollnerd

Reputation: 912

For any of the :api:message: schemas, no, there is no SCIM JSON example in any of the specification documents.Inside of RFC 7644, BulkRequest and BulkResponse are defined in section 3.7, Error in 3.12, PatchOp in 3.5.2(loosely), and SearchRequest in 3.4.3. All of these are defined in text and do not have clearly defined properties in the SCIM JSON schema.

RFC 7643 has JSON examples of ServiceProviderConfig, Schema, and ResourceType in 8.7.2, and of core user, core group, and enterprise user in 8.7.1. However, immediately preceding all of the examples in RFC 7643 is this text in section 8.7:

The following is intended as an example of the SCIM schema
representation in JSON format for SCIM resources. Where permitted,
individual values and schema MAY change. This example includes
schema representations for "User", "Group", and "EnterpriseUser";
other schema representations are possible.

This opens the door to variance in the section 8.7.1/8.7.2 JSON schema examples. MAY is a tricky word in RFC terms, and many implementers try to stick as closely to the schema defined in 8.7.1/8.7.2 as possible. That quoted blurb weakens any attempt to label these as truly authoritative, however.

Upvotes: 3

Related Questions