draft-ietf-scim-core-schema-01.txt | draft-ietf-scim-core-schema-02.txt | |||
---|---|---|---|---|
Network Working Group C. Mortimore, Ed. | Network Working Group C. Mortimore, Ed. | |||
Internet-Draft Salesforce | Internet-Draft Salesforce | |||
Intended status: Standards Track P. Harding | Intended status: Standards Track P. Harding | |||
Expires: October 17, 2013 P. Madsen | Expires: March 03, 2014 P. Madsen | |||
Ping | Ping | |||
T. Drake | T. Drake | |||
UnboundID | UnboundID | |||
April 15, 2013 | August 30, 2013 | |||
System for Cross-Domain Identity Management: Core Schema | System for Cross-Domain Identity Management: Core Schema | |||
draft-ietf-scim-core-schema-01 | draft-ietf-scim-core-schema-02 | |||
Abstract | Abstract | |||
The System for Cross-Domain Identity Management (SCIM) specification | The System for Cross-Domain Identity Management (SCIM) specification | |||
is designed to make managing user identity in cloud based | is designed to make managing user identity in cloud based | |||
applications and services easier. The specification suite builds | applications and services easier. The specification suite builds | |||
upon experience with existing schemas and deployments, placing | upon experience with existing schemas and deployments, placing | |||
specific emphasis on simplicity of development and integration, while | specific emphasis on simplicity of development and integration, while | |||
applying existing authentication, authorization, and privacy models. | applying existing authentication, authorization, and privacy models. | |||
Its intent is to reduce the cost and complexity of user management | Its intent is to reduce the cost and complexity of user management | |||
skipping to change at page 1, line 35 | skipping to change at page 1, line 35 | |||
well as binding documents to provide patterns for exchanging this | well as binding documents to provide patterns for exchanging this | |||
schema using standard protocols. In essence, make it fast, cheap, | schema using standard protocols. In essence, make it fast, cheap, | |||
and easy to move identity in to, out of, and around the cloud. | and easy to move identity in to, out of, and around the cloud. | |||
This document provides a platform neutral schema and extension model | This document provides a platform neutral schema and extension model | |||
for representing users and groups in JSON format. This schema is | for representing users and groups in JSON format. This schema is | |||
intended for exchange and use with cloud service providers. | intended for exchange and use with cloud service providers. | |||
Additional binding documents provide a standard REST API, SAML | Additional binding documents provide a standard REST API, SAML | |||
binding, and use cases. | binding, and use cases. | |||
Status of this Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on October 17, 2013. | This Internet-Draft will expire on March 03, 2014. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2013 IETF Trust and the persons identified as the | Copyright (c) 2013 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Requirements Notation and Conventions . . . . . . . . . . . . 4 | 1. Requirements Notation and Conventions . . . . . . . . . . . . 3 | |||
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3. SCIM Schema Structure . . . . . . . . . . . . . . . . . . . . 5 | 3. SCIM Schema Structure . . . . . . . . . . . . . . . . . . . . 4 | |||
3.1. Attribute Data Types . . . . . . . . . . . . . . . . . . . 5 | 3.1. Attribute Data Types . . . . . . . . . . . . . . . . . . 5 | |||
3.1.1. String . . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.1.1. String . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.1.2. Boolean . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.1.2. Boolean . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.1.3. Decimal . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.1.3. Decimal . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.1.4. Integer . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.1.4. Integer . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.1.5. DateTime . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.1.5. DateTime . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3.1.6. Binary . . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.1.6. Binary . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3.1.7. Reference . . . . . . . . . . . . . . . . . . . . . . 7 | 3.1.7. Reference . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3.1.8. Complex . . . . . . . . . . . . . . . . . . . . . . . 7 | 3.1.8. Complex . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3.2. Multi-valued Attributes . . . . . . . . . . . . . . . . . 7 | 3.2. Multi-valued Attributes . . . . . . . . . . . . . . . . . 6 | |||
4. Schema Extension Model . . . . . . . . . . . . . . . . . . . . 8 | 4. Schema Extension Model . . . . . . . . . . . . . . . . . . . 8 | |||
5. SCIM Core Schema . . . . . . . . . . . . . . . . . . . . . . . 9 | 5. SCIM Core Schema . . . . . . . . . . . . . . . . . . . . . . 8 | |||
5.1. Common Schema Attributes . . . . . . . . . . . . . . . . . 9 | 5.1. Common Schema Attributes . . . . . . . . . . . . . . . . 8 | |||
5.2. "schemas" Attribute . . . . . . . . . . . . . . . . . . . 10 | 5.2. "schemas" Attribute . . . . . . . . . . . . . . . . . . . 9 | |||
6. SCIM User Schema . . . . . . . . . . . . . . . . . . . . . . . 10 | 6. SCIM User Schema . . . . . . . . . . . . . . . . . . . . . . 10 | |||
6.1. Singular Attributes . . . . . . . . . . . . . . . . . . . 10 | 6.1. Singular Attributes . . . . . . . . . . . . . . . . . . . 10 | |||
6.2. Multi-valued Attributes . . . . . . . . . . . . . . . . . 12 | 6.2. Multi-valued Attributes . . . . . . . . . . . . . . . . . 12 | |||
7. SCIM Enterprise User Schema Extension . . . . . . . . . . . . 15 | 7. SCIM Enterprise User Schema Extension . . . . . . . . . . . . 14 | |||
8. SCIM Group Schema . . . . . . . . . . . . . . . . . . . . . . 15 | 8. SCIM Group Schema . . . . . . . . . . . . . . . . . . . . . . 15 | |||
9. Service Provider Configuration Schema . . . . . . . . . . . . 16 | 9. Service Provider Configuration Schema . . . . . . . . . . . . 15 | |||
10. Resource Schema . . . . . . . . . . . . . . . . . . . . . . . 18 | 10. Resource Type Schema . . . . . . . . . . . . . . . . . . . . 17 | |||
11. JSON Representation . . . . . . . . . . . . . . . . . . . . . 20 | 11. Schema Schema . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
11.1. Minimal User Representation . . . . . . . . . . . . . . . 20 | 12. JSON Representation . . . . . . . . . . . . . . . . . . . . . 20 | |||
11.2. Full User Representation . . . . . . . . . . . . . . . . . 20 | 12.1. Minimal User Representation . . . . . . . . . . . . . . 20 | |||
11.3. Enterprise User Extension Representation . . . . . . . . . 23 | 12.2. Full User Representation . . . . . . . . . . . . . . . . 20 | |||
11.4. Group Representation . . . . . . . . . . . . . . . . . . . 26 | 12.3. Enterprise User Extension Representation . . . . . . . . 23 | |||
11.5. Service Provider Configuration Representation . . . . . . 27 | 12.4. Group Representation . . . . . . . . . . . . . . . . . . 26 | |||
11.6. Resource Schema Representation . . . . . . . . . . . . . . 28 | 12.5. Service Provider Configuration Representation . . . . . 27 | |||
12. Security Considerations . . . . . . . . . . . . . . . . . . . 32 | 12.6. Resource Type Representation . . . . . . . . . . . . . . 28 | |||
13. Normative References . . . . . . . . . . . . . . . . . . . . . 32 | 12.7. Schema Representation . . . . . . . . . . . . . . . . . 29 | |||
Appendix A. Contributors . . . . . . . . . . . . . . . . . . . . 33 | 13. Security Considerations . . . . . . . . . . . . . . . . . . . 33 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 33 | 14. Normative References . . . . . . . . . . . . . . . . . . . . 33 | |||
Appendix A. Contributors . . . . . . . . . . . . . . . . . . . . 34 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 34 | ||||
1. Requirements Notation and Conventions | 1. Requirements Notation and Conventions | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in [RFC2119] . | document are to be interpreted as described in [RFC2119] . | |||
Throughout this document, values are quoted to indicate that they are | Throughout this document, values are quoted to indicate that they are | |||
to be taken literally. When using these values in protocol messages, | to be taken literally. When using these values in protocol messages, | |||
the quotes MUST NOT be used as part of the value. | the quotes MUST NOT be used as part of the value. | |||
skipping to change at page 5, line 11 | skipping to change at page 4, line 16 | |||
Service Provider: A web application that provides identity | Service Provider: A web application that provides identity | |||
information via the SCIM protocol. | information via the SCIM protocol. | |||
Consumer: A website or application that uses the SCIM protocol to | Consumer: A website or application that uses the SCIM protocol to | |||
manage identity data maintained by the Service Provider. | manage identity data maintained by the Service Provider. | |||
Resource: The Service Provider managed artifact containing one or | Resource: The Service Provider managed artifact containing one or | |||
more attributes; e.g., User or Group | more attributes; e.g., User or Group | |||
Resource Type: A type of a Resource that is managed by a Service | ||||
Provider. The Resource Type defines the Resource name, endpoint | ||||
URL, Schemas, and other meta-data which indicate where a Resource | ||||
is managed and how it is composed; e.g., User or Group. | ||||
Schema: A collection of Attribute Definitions that describe the | ||||
contents of an entire or partial Resource; e.g., | ||||
urn:scim:schemas:core:User:2.0. | ||||
Singular Attribute: A Resource attribute that contains 0..1 values; | Singular Attribute: A Resource attribute that contains 0..1 values; | |||
e.g., displayName. | e.g., displayName. | |||
Multi-valued Attribute: A Resource attribute that contains 0..n | Multi-valued Attribute: A Resource attribute that contains 0..n | |||
values; e.g., emails. | values; e.g., emails. | |||
Simple Attribute: A Singular or Multi-valued Attribute whose value | Simple Attribute: A Singular or Multi-valued Attribute whose value | |||
is a primitive; e.g., String. | is a primitive; e.g., String. | |||
Complex Attribute: A Singular or Multi-valued Attribute whose value | Complex Attribute: A Singular or Multi-valued Attribute whose value | |||
skipping to change at page 6, line 12 | skipping to change at page 5, line 25 | |||
Attribute data types are derived from JSON [2] and unless otherwise | Attribute data types are derived from JSON [2] and unless otherwise | |||
specified are optional, modifiable by Consumers, and of type String | specified are optional, modifiable by Consumers, and of type String | |||
(Section 3.1.1). The JSON format defines a limited set of data | (Section 3.1.1). The JSON format defines a limited set of data | |||
types, hence, where appropriate, alternate JSON representations | types, hence, where appropriate, alternate JSON representations | |||
derived from XML schema [3] are defined below. SCIM extensions | derived from XML schema [3] are defined below. SCIM extensions | |||
SHOULD not introduce new data types. | SHOULD not introduce new data types. | |||
3.1.1. String | 3.1.1. String | |||
A sequence of zero or more Unicode characters. The JSON format is | A sequence of zero or more Unicode characters. The JSON format is | |||
defined in section 2.5 of RFC 4627. A String attribute MAY specify a | defined in section 2.5 [4] of RFC 4627. A String attribute MAY | |||
required data format. Additionally, when Canonical Values are | specify a required data format. Additionally, when Canonical Values | |||
specified Service Providers SHOULD conform to those values if | are specified Service Providers SHOULD conform to those values if | |||
appropriate, but MAY provide alternate String values to represent | appropriate, but MAY provide alternate String values to represent | |||
additional values. | additional values. | |||
3.1.2. Boolean | 3.1.2. Boolean | |||
The literal "true" or "false". The JSON format is defined in section | The literal "true" or "false". The JSON format is defined in section | |||
2.1 of RFC 4627. | 2.1 [5] of RFC 4627. | |||
3.1.3. Decimal | 3.1.3. Decimal | |||
A real number with at least one digit to the left and right of the | A real number with at least one digit to the left and right of the | |||
period. The JSON format is defined in section 2.4 of RFC 4627. | period. The JSON format is defined in section 2.4 [6] of RFC 4627. | |||
3.1.4. Integer | 3.1.4. Integer | |||
A Decimal number with no fractional digits. The JSON format is | A Decimal number with no fractional digits. The JSON format is | |||
defined in section 2.4 of RFC 4627 with the additional constraint | defined in section 2.4 [7] of RFC 4627 with the additional constraint | |||
that the value MUST NOT contain fractionial or exponent parts. | that the value MUST NOT contain fractionial or exponent parts. | |||
3.1.5. DateTime | 3.1.5. DateTime | |||
A DateTime value (e.g. 2008-01-23T04:56:22Z). The attribute value | A DateTime value (e.g. 2008-01-23T04:56:22Z). The attribute value | |||
MUST be encoded as a valid xsd:dateTime as specified in section 3.2.7 | MUST be encoded as a valid xsd:dateTime as specified in section 3.2.7 | |||
of the XML Schema Datatypes Specification. | [8] of the XML Schema Datatypes Specification. | |||
Values represented in JSON MUST conform to the XML constraints above | Values represented in JSON MUST conform to the XML constraints above | |||
and are represented as a JSON String. | and are represented as a JSON String [9]. | |||
3.1.6. Binary | 3.1.6. Binary | |||
Arbitrary binary data. The attribute value MUST be encoded as a | Arbitrary binary data. The attribute value MUST be encoded as a | |||
valid xsd:base64Binary as specified in section 3.2.16 of the XML | valid xsd:base64Binary as specified in section 3.2.16 [10] of the XML | |||
Schema Datatypes Specification. | Schema Datatypes Specification. | |||
Values represented in JSON MUST conform to the XML constraints above | Values represented in JSON MUST conform to the XML constraints above | |||
and are represented as a JSON String. | and are represented as a JSON String [11]. | |||
3.1.7. Reference | 3.1.7. Reference | |||
A reference to a SCIM Resource. The value MUST be the absolute or | A reference to a SCIM Resource. The value MUST be the absolute or | |||
relative URI of the target Resource. Relative URIs should be | relative URI of the target Resource. Relative URIs should be | |||
resolved as specified in section 5.2 of RFC 3986. The base URI for | resolved as specified in section 5.2 [12] of RFC 3986. The base URI | |||
relative URI resolution MUST include all URI components and path | for relative URI resolution MUST include all URI components and path | |||
segments up to but not including the Endpoint URI; e.g., the base URI | segments up to but not including the Endpoint URI; e.g., the base URI | |||
for a request to | for a request to https://example.com/v1/Users/2819c223-7f76-453a- | |||
https://example.com/v1/Users/2819c223-7f76-453a-919d-413861904646 | 919d-413861904646 would be https://example.com/v1/ and the relative | |||
would be https://example.com/v1/ and the relative URI for this | URI for this Resource would be Users/2819c223-7f76-453a- | |||
Resource would be Users/2819c223-7f76-453a-919d-413861904646. | 919d-413861904646. | |||
Performing a GET operation on a reference URI MUST return the target | Performing a GET operation on a reference URI MUST return the target | |||
Resource or an appropriate HTTP response code. The Service Provider | Resource or an appropriate HTTP response code. The Service Provider | |||
MAY optionally choose to enforce referential integrity for | MAY optionally choose to enforce referential integrity for | |||
references. | references. | |||
By convention, a reference is commonly represented as a "$ref" sub- | By convention, a reference is commonly represented as a "$ref" sub- | |||
attribute in complex or multi-valued attributes, however this is | attribute in complex or multi-valued attributes, however this is | |||
OPTIONAL. | OPTIONAL. | |||
3.1.8. Complex | 3.1.8. Complex | |||
A Singular or Multi-valued Attribute whose value is a composition of | A Singular or Multi-valued Attribute whose value is a composition of | |||
one or more Simple Attributes. The JSON format is defined in section | one or more Simple Attributes. The JSON format is defined in section | |||
2.2 of RFC 4627. | 2.2 [13] of RFC 4627. | |||
3.2. Multi-valued Attributes | 3.2. Multi-valued Attributes | |||
Multi-valued attributes are unordered lists of attributes. Each | Multi-valued attributes are unordered lists of attributes. Each | |||
attribute MAY contain Sub-Attributes and therefore multi-valued | attribute MAY contain Sub-Attributes and therefore multi-valued | |||
attributes may contain Complex Attributes. The below Sub-Attributes | attributes may contain Complex Attributes. The below Sub-Attributes | |||
are considered normative and when specified SHOULD be used as | are considered normative and when specified SHOULD be used as | |||
defined. | defined. | |||
type A label indicating the attribute's function; e.g., "work" or | type A label indicating the attribute's function; e.g., "work" or | |||
"home". | "home". | |||
primary A Boolean value indicating the 'primary' or preferred | primary A Boolean value indicating the 'primary' or preferred | |||
skipping to change at page 8, line 14 | skipping to change at page 7, line 30 | |||
operation The operation to perform on the multi-valued attribute | operation The operation to perform on the multi-valued attribute | |||
during a PATCH request. The only valid value is "delete", which | during a PATCH request. The only valid value is "delete", which | |||
signifies that this instance should be removed from the Resource. | signifies that this instance should be removed from the Resource. | |||
value The attribute's significant value; e.g., the e-mail address, | value The attribute's significant value; e.g., the e-mail address, | |||
phone number, etc. Attributes that define a "value" sub-attribute | phone number, etc. Attributes that define a "value" sub-attribute | |||
MAY be alternately represented as a collection of primitive types. | MAY be alternately represented as a collection of primitive types. | |||
For example: | For example: | |||
{ | { | |||
"emails": [ | "emails": [ | |||
{"value":"bjensen@example.com"}, | {"value":"bjensen@example.com"}, | |||
{"value":"babs@example.com"} | {"value":"babs@example.com"} | |||
] | ] | |||
} | } | |||
May also be represented as: | May also be represented as: | |||
{ | { | |||
"emails": ["bjensen@example.com","babs@example.com"] | "emails": ["bjensen@example.com","babs@example.com"] | |||
} | } | |||
$ref The Reference of the target Resource, if the attribute is a | $ref The Reference of the target Resource, if the attribute is a | |||
reference. | reference. | |||
skipping to change at page 8, line 43 | skipping to change at page 8, line 14 | |||
once with different types (e.g. the same e-mail address may used for | once with different types (e.g. the same e-mail address may used for | |||
work and home), but SHOULD NOT return the same (type, value) | work and home), but SHOULD NOT return the same (type, value) | |||
combination more than once per Attribute, as this complicates | combination more than once per Attribute, as this complicates | |||
processing by the Consumer. | processing by the Consumer. | |||
4. Schema Extension Model | 4. Schema Extension Model | |||
SCIM schema follows an object extension model similar to | SCIM schema follows an object extension model similar to | |||
ObjectClasses used in LDAP. Unlike LDAP there is no inheritance | ObjectClasses used in LDAP. Unlike LDAP there is no inheritance | |||
model; all extensions are additive (similar to LDAP Auxiliary Object | model; all extensions are additive (similar to LDAP Auxiliary Object | |||
Classes [4]). Each value indicates additive schema that may exist in | Classes [14]). Each value indicates additive schema that may exist | |||
a SCIM representation as specified by extensions not defined in this | in a SCIM representation as specified by extensions not defined in | |||
suite. Schema extensions MUST NOT redefine any attributes defined in | this suite. Schema extensions MUST NOT redefine any attributes | |||
this specification and SHOULD follow conventions defined in this | defined in this specification and SHOULD follow conventions defined | |||
specification. Each schema extension must identify a URI used to | in this specification. Each schema extension must identify a URI | |||
identify the extension. The JSON format MUST use the "schemas" | used to identify the extension. The JSON format MUST use the | |||
attribute (Section 5.2) to distinguish extended resources and | "schemas" attribute (Section 5.2) to distinguish extended resources | |||
attributes. | and attributes. | |||
5. SCIM Core Schema | 5. SCIM Core Schema | |||
5.1. Common Schema Attributes | 5.1. Common Schema Attributes | |||
Each SCIM Resource (Users, Groups, etc.) includes the below common | Each SCIM Resource (Users, Groups, etc.) includes the below common | |||
attributes. These attributes MUST be included in all Resources, | attributes. These attributes MUST be included in all Resources, | |||
including any extended Resource types. It is not necessary to | including any extended Resource types. It is not necessary to | |||
specify the schemas attribute if the Resource is fully defined in | specify the schemas attribute if the Resource is fully defined in | |||
this document as the core schema is implicitly included. | this document as the core schema is implicitly included. | |||
id Unique identifier for the SCIM Resource as defined by the Service | id Unique identifier for the SCIM Resource as defined by the Service | |||
Provider. Each representation of the Resource MUST include a non- | Provider. Each representation of the Resource MUST include a non- | |||
empty id value. This identifier MUST be unique across the Service | empty id value. This identifier MUST be unique across the Service | |||
Provider's entire set of Resources. It MUST be a stable, non- | Provider's entire set of Resources. It MUST be a stable, non- | |||
reassignable identifier that does not change when the same | reassignable identifier that does not change when the same | |||
Resource is returned in subsequent requests. The value of the id | Resource is returned in subsequent requests. The value of the id | |||
attribute is always issued by the Service Provider and MUST never | attribute is always issued by the Service Provider and MUST never | |||
be specified by the Service Consumer. bulkId: is a reserved | be specified by the Service Consumer. bulkId: is a reserved | |||
keyword and MUST NOT be used in the unique identifier. REQUIRED | keyword and MUST NOT be used in the unique identifier. REQUIRED | |||
and READ-ONLY. | and READ-ONLY. | |||
externalId An identifier for the Resource as defined by the Service | externalId An identifier for the Resource as defined by the Service | |||
Consumer. The externalId may simplify identification of the | Consumer. The externalId may simplify identification of the | |||
Resource between Service Consumer and Service provider by allowing | Resource between Service Consumer and Service provider by allowing | |||
the Consumer to refer to the Resource with its own identifier, | the Consumer to refer to the Resource with its own identifier, | |||
obviating the need to store a local mapping between the local | obviating the need to store a local mapping between the local | |||
identifier of the Resource and the identifier used by the Service | identifier of the Resource and the identifier used by the Service | |||
Provider. Each Resource MAY include a non-empty externalId value. | Provider. Each Resource MAY include a non-empty externalId value. | |||
The value of the externalId attribute is always issued be the | The value of the externalId attribute is always issued be the | |||
Service Consumer and can never be specified by the Service | Service Consumer and can never be specified by the Service | |||
Provider. The Service Provider MUST always interpret the | Provider. The Service Provider MUST always interpret the | |||
externalId as scoped to the Service Consumer's tenant. | externalId as scoped to the Service Consumer's tenant. | |||
meta A complex attribute containing resource metadata. All sub- | meta A complex attribute containing resource metadata. All sub- | |||
attributes are OPTIONAL | attributes are OPTIONAL | |||
resourceType The name of the Resource Type of the Resource. | ||||
READ-ONLY. | ||||
created The DateTime the Resource was added to the Service | created The DateTime the Resource was added to the Service | |||
Provider. The attribute MUST be a DateTime. READ-ONLY. | Provider. The attribute MUST be a DateTime. READ-ONLY. | |||
lastModified The most recent DateTime the details of this | lastModified The most recent DateTime the details of this | |||
Resource were updated at the Service Provider. If this | Resource were updated at the Service Provider. If this | |||
Resource has never been modified since its initial creation, | Resource has never been modified since its initial creation, | |||
the value MUST be the same as the value of created. The | the value MUST be the same as the value of created. The | |||
attribute MUST be a DateTime. READ-ONLY. | attribute MUST be a DateTime. READ-ONLY. | |||
location The URI of the Resource being returned. This value MUST | location The URI of the Resource being returned. This value MUST | |||
be the same as the Location HTTP response header. READ-ONLY. | be the same as the Location HTTP response header. READ- | |||
ONLY. | ||||
version The version of the Resource being returned. This value | version The version of the Resource being returned. This value | |||
must be the same as the ETag HTTP response header. READ-ONLY. | must be the same as the ETag HTTP response header. READ- | |||
ONLY. | ||||
attributes The names of the attributes to remove from the | attributes The names of the attributes to remove from the | |||
Resource during a PATCH operation. | Resource during a PATCH operation. | |||
5.2. "schemas" Attribute | 5.2. "schemas" Attribute | |||
SCIM supports resources of different types, with extensible schemas. | SCIM supports resources of different types, with extensible schemas. | |||
Each resource MUST be indicated using fully qualified URLs. | Each resource MUST be indicated using fully qualified URLs. | |||
When a representation does not explicitly provide support for | When a representation does not explicitly provide support for | |||
indicating a schema, such as JSON, a schemas attribute is used to | indicating a schema, such as JSON, a schemas attribute is used to | |||
indicate the version of SCIM schema as well as any schema extensions. | indicate the version of SCIM schema as well as any schema extensions. | |||
schemas The schemas attribute is an array of Strings which allows | schemas The schemas attribute is an array of Strings which allows | |||
introspection of the supported schema version for a SCIM | introspection of the supported schema version for a SCIM | |||
representation as well any schema extensions supported by that | representation as well any schema extensions supported by that | |||
representation. Each String value must be a unique URI. This | representation. Each String value must be a unique URI. This | |||
specification defines URIs for User, Group, and a standard | specification defines URIs for User, Group, and a standard | |||
"enterprise" extension. All representations of SCIM schema MUST | "enterprise" extension. All representations of SCIM schema MUST | |||
include a non-zero value array with value(s) of the URIs supported | include a non-zero value array with value(s) of the URIs supported | |||
by that representation. Duplicate values MUST NOT be included. | by that representation. The schemas attribute for a Resource MUST | |||
Value order is not specified and MUST not impact behavior. | only contain values defined as "schema" and "schemaExtensions" for | |||
REQUIRED. | the Resource's Resource Type. Duplicate values MUST NOT be | |||
included. Value order is not specified and MUST not impact | ||||
behavior. REQUIRED. | ||||
6. SCIM User Schema | 6. SCIM User Schema | |||
SCIM provides a schema for representing Users, identified using the | SCIM provides a schema for representing Users, identified using the | |||
following URI: 'urn:scim:schemas:core:1.0'. The following attributes | following URI: 'urn:scim:schemas:core:2.0:User'. The following | |||
are defined in addition to those attributes defined in SCIM Core | attributes are defined in addition to those attributes defined in | |||
Schema: | SCIM Core Schema: | |||
6.1. Singular Attributes | 6.1. Singular Attributes | |||
userName Unique identifier for the User, typically used by the user | userName Unique identifier for the User, typically used by the user | |||
to directly authenticate to the service provider. Often displayed | to directly authenticate to the service provider. Often displayed | |||
to the user as their unique identifier within the system (as | to the user as their unique identifier within the system (as | |||
opposed to id or externalId, which are generally opaque and not | opposed to id or externalId, which are generally opaque and not | |||
user-friendly identifiers). Each User MUST include a non-empty | user-friendly identifiers). Each User MUST include a non-empty | |||
userName value. This identifier MUST be unique across the Service | userName value. This identifier MUST be unique across the Service | |||
Consumer's entire set of Users. REQUIRED. | Consumer's entire set of Users. REQUIRED. | |||
name The components of the User's real name. Providers MAY return | name The components of the User's real name. Providers MAY return | |||
just the full name as a single string in the formatted sub- | just the full name as a single string in the formatted sub- | |||
attribute, or they MAY return just the individual component | attribute, or they MAY return just the individual component | |||
attributes using the other sub-attributes, or they MAY return | attributes using the other sub-attributes, or they MAY return | |||
both. If both variants are returned, they SHOULD be describing | both. If both variants are returned, they SHOULD be describing | |||
the same name, with the formatted name indicating how the | the same name, with the formatted name indicating how the | |||
component attributes should be combined. | component attributes should be combined. | |||
formatted The full name, including all middle names, titles, and | formatted The full name, including all middle names, titles, and | |||
suffixes as appropriate, formatted for display (e.g. Ms. | suffixes as appropriate, formatted for display (e.g. Ms. | |||
Barbara Jane Jensen, III.). | Barbara Jane Jensen, III.). | |||
familyName The family name of the User, or "Last Name" in most | familyName The family name of the User, or "Last Name" in most | |||
Western languages (e.g. Jensen given the full name Ms. Barbara | Western languages (e.g. Jensen given the full name Ms. | |||
Jane Jensen, III.). | Barbara Jane Jensen, III.). | |||
givenName The given name of the User, or "First Name" in most | givenName The given name of the User, or "First Name" in most | |||
Western languages (e.g. Barbara given the full name Ms. | Western languages (e.g. Barbara given the full name Ms. | |||
Barbara Jane Jensen, III.). | Barbara Jane Jensen, III.). | |||
middleName The middle name(s) of the User (e.g. Jane given the | middleName The middle name(s) of the User (e.g. Jane given the | |||
full name Ms. Barbara Jane Jensen, III.). | full name Ms. Barbara Jane Jensen, III.). | |||
honorificPrefix The honorific prefix(es) of the User, or "Title" | honorificPrefix The honorific prefix(es) of the User, or "Title" | |||
in most Western languages (e.g. Ms. given the full name Ms. | in most Western languages (e.g. Ms. given the full name Ms. | |||
Barbara Jane Jensen, III.). | Barbara Jane Jensen, III.). | |||
honorificSuffix The honorific suffix(es) of the User, or "Suffix" | honorificSuffix The honorific suffix(es) of the User, or "Suffix" | |||
in most Western languages (e.g. III. given the full name Ms. | in most Western languages (e.g. III. given the full name Ms. | |||
Barbara Jane Jensen, III.). | Barbara Jane Jensen, III.). | |||
displayName The name of the User, suitable for display to end-users. | displayName The name of the User, suitable for display to end-users. | |||
Each User returned MAY include a non-empty displayName value. The | Each User returned MAY include a non-empty displayName value. The | |||
name SHOULD be the full name of the User being described if known | name SHOULD be the full name of the User being described if known | |||
(e.g. Babs Jensen or Ms. Barbara J Jensen, III), but MAY be a | (e.g. Babs Jensen or Ms. Barbara J Jensen, III), but MAY be a | |||
username or handle, if that is all that is available (e.g. | username or handle, if that is all that is available (e.g. | |||
bjensen). The value provided SHOULD be the primary textual label | bjensen). The value provided SHOULD be the primary textual label | |||
by which this User is normally displayed by the Service Provider | by which this User is normally displayed by the Service Provider | |||
when presenting it to end-users. | when presenting it to end-users. | |||
nickName The casual way to address the user in real life, e.g. | nickName The casual way to address the user in real life, e.g. "Bob" | |||
"Bob" or "Bobby" instead of "Robert". This attribute SHOULD NOT | or "Bobby" instead of "Robert". This attribute SHOULD NOT be used | |||
be used to represent a User's username (e.g. bjensen or | to represent a User's username (e.g. bjensen or mpepperidge). | |||
mpepperidge). | ||||
profileUrl A fully qualified URL to a page representing the User's | profileUrl A fully qualified URL to a page representing the User's | |||
online profile. | online profile. | |||
title The user's title, such as "Vice President." | title The user's title, such as "Vice President." | |||
userType Used to identify the organization to user relationship. | userType Used to identify the organization to user relationship. | |||
Typical values used might be "Contractor", "Employee", "Intern", | Typical values used might be "Contractor", "Employee", "Intern", | |||
"Temp", "External", and "Unknown" but any value may be used. | "Temp", "External", and "Unknown" but any value may be used. | |||
preferredLanguage Indicates the User's preferred written or spoken | preferredLanguage Indicates the User's preferred written or spoken | |||
language. Generally used for selecting a localized User | language. Generally used for selecting a localized User | |||
interface. Valid values are concatenation of the ISO 639-1 two | interface. Valid values are concatenation of the ISO 639-1 two | |||
letter language code [5], an underscore, and the ISO 3166-1 2 | letter language code [15], an underscore, and the ISO 3166-1 2 | |||
letter country code [6]; e.g., 'en_US' specifies the language | letter country code [16]; e.g., 'en_US' specifies the language | |||
English and country US. | English and country US. | |||
locale Used to indicate the User's default location for purposes of | locale Used to indicate the User's default location for purposes of | |||
localizing items such as currency, date time format, numerical | localizing items such as currency, date time format, numerical | |||
representations, etc. A locale value is a concatenation of the | representations, etc. A locale value is a concatenation of the | |||
ISO 639-1 two letter language code [5], an underscore, and the ISO | ISO 639-1 two letter language code [17], an underscore, and the | |||
3166-1 2 letter country code [6]; e.g., 'en_US' specifies the | ISO 3166-1 2 letter country code [18]; e.g., 'en_US' specifies the | |||
language English and country US. | language English and country US. | |||
timezone The User's time zone in the "Olson" timezone database | timezone The User's time zone in the "Olson" timezone database | |||
format [7]; e.g.,'America/Los_Angeles'. | format [19]; e.g.,'America/Los_Angeles'. | |||
active A Boolean value indicating the User's administrative status. | active A Boolean value indicating the User's administrative status. | |||
The definitive meaning of this attribute is determined by the | The definitive meaning of this attribute is determined by the | |||
Service Provider though a value of true infers the User is, for | Service Provider though a value of true infers the User is, for | |||
example, able to login while a value of false implies the User's | example, able to login while a value of false implies the User's | |||
account has been suspended. | account has been suspended. | |||
password The User's clear text password. This attribute is intended | password The User's clear text password. This attribute is intended | |||
to be used as a means to specify an initial password when creating | to be used as a means to specify an initial password when creating | |||
a new User or to reset an existing User's password. No accepted | a new User or to reset an existing User's password. No accepted | |||
standards exist to convey password policies, hence Consumers | standards exist to convey password policies, hence Consumers | |||
should expect Service Providers to reject password values. This | should expect Service Providers to reject password values. This | |||
value MUST never be returned by a Service Provider in any form. | value MUST never be returned by a Service Provider in any form. | |||
6.2. Multi-valued Attributes | 6.2. Multi-valued Attributes | |||
The following multi-valued attributes are defined. | The following multi-valued attributes are defined. | |||
emails E-mail addresses for the User. The value SHOULD be | emails E-mail addresses for the User. The value SHOULD be | |||
canonicalized by the Service Provider, e.g. bjensen@example.com | canonicalized by the Service Provider, e.g. bjensen@example.com | |||
instead of bjensen@EXAMPLE.COM. Canonical Type values of work, | instead of bjensen@EXAMPLE.COM. Canonical Type values of work, | |||
home, and other. | home, and other. | |||
phoneNumbers Phone numbers for the User. The value SHOULD be | phoneNumbers Phone numbers for the User. The value SHOULD be | |||
canonicalized by the Service Provider according to format in | canonicalized by the Service Provider according to format in | |||
RFC3966 [8] e.g. 'tel:+1-201-555-0123'. Canonical Type values of | RFC3966 [20] e.g. 'tel:+1-201-555-0123'. Canonical Type values of | |||
work, home, mobile, fax, pager and other. | work, home, mobile, fax, pager and other. | |||
ims Instant messaging address for the User. No official | ims Instant messaging address for the User. No official | |||
canonicalization rules exist for all instant messaging addresses, | canonicalization rules exist for all instant messaging addresses, | |||
but Service Providers SHOULD, when appropriate, remove all | but Service Providers SHOULD, when appropriate, remove all | |||
whitespace and convert the address to lowercase. Instead of the | whitespace and convert the address to lowercase. Instead of the | |||
standard Canonical Values for type, this attribute defines the | standard Canonical Values for type, this attribute defines the | |||
following Canonical Values to represent currently popular IM | following Canonical Values to represent currently popular IM | |||
services: aim, gtalk, icq, xmpp, msn, skype, qq, and yahoo. | services: aim, gtalk, icq, xmpp, msn, skype, qq, and yahoo. | |||
skipping to change at page 13, line 37 | skipping to change at page 13, line 6 | |||
Canonical Values for type, this attribute defines the following | Canonical Values for type, this attribute defines the following | |||
Canonical Values to represent popular photo sizes: photo, | Canonical Values to represent popular photo sizes: photo, | |||
thumbnail. | thumbnail. | |||
addresses A physical mailing address for this User. Canonical Type | addresses A physical mailing address for this User. Canonical Type | |||
Values of work, home, and other. The value attribute is a complex | Values of work, home, and other. The value attribute is a complex | |||
type with the following sub-attributes. All Sub-Attributes are | type with the following sub-attributes. All Sub-Attributes are | |||
OPTIONAL. | OPTIONAL. | |||
formatted The full mailing address, formatted for display or use | formatted The full mailing address, formatted for display or use | |||
with a mailing label. This attribute MAY contain newlines. | with a mailing label. This attribute MAY contain newlines. | |||
streetAddress The full street address component, which may | streetAddress The full street address component, which may | |||
include house number, street name, P.O. box, and multi-line | include house number, street name, P.O. box, and multi-line | |||
extended street address information. This attribute MAY | extended street address information. This attribute MAY | |||
contain newlines. | contain newlines. | |||
locality The city or locality component. | locality The city or locality component. | |||
region The state or region component. | region The state or region component. | |||
postalCode The zipcode or postal code component. | postalCode The zipcode or postal code component. | |||
country The country name component. When specified the value | country The country name component. When specified the value | |||
MUST be in ISO 3166-1 alpha 2 "short" code format [6]; e.g., | MUST be in ISO 3166-1 alpha 2 "short" code format [21]; | |||
the United States and Sweden are "US" and "SE", respectively. | e.g., the United States and Sweden are "US" and "SE", | |||
respectively. | ||||
groups A list of groups that the user belongs to, either thorough | groups A list of groups that the user belongs to, either thorough | |||
direct membership, nested groups, or dynamically calculated. The | direct membership, nested groups, or dynamically calculated. The | |||
values are meant to enable expression of common group or role | values are meant to enable expression of common group or role | |||
based access control models, although no explicit authorization | based access control models, although no explicit authorization | |||
model is defined. It is intended that the semantics of group | model is defined. It is intended that the semantics of group | |||
membership and any behavior or authorization granted as a result | membership and any behavior or authorization granted as a result | |||
of membership are defined by the Service Provider. The Canonical | of membership are defined by the Service Provider. The Canonical | |||
types "direct" and "indirect" are defined to describe how the | types "direct" and "indirect" are defined to describe how the | |||
group membership was derived. Direct group membership indicates | group membership was derived. Direct group membership indicates | |||
skipping to change at page 15, line 10 | skipping to change at page 14, line 29 | |||
x509Certificates A list of certificates issued to the User. Values | x509Certificates A list of certificates issued to the User. Values | |||
are Binary (Section 3.1.6) and DER encoded x509. This value has | are Binary (Section 3.1.6) and DER encoded x509. This value has | |||
NO canonical types. | NO canonical types. | |||
7. SCIM Enterprise User Schema Extension | 7. SCIM Enterprise User Schema Extension | |||
The following SCIM extension defines attributes commonly used in | The following SCIM extension defines attributes commonly used in | |||
representing users that belong to, or act on behalf of a business or | representing users that belong to, or act on behalf of a business or | |||
enterprise. The enterprise user extension is identified using the | enterprise. The enterprise user extension is identified using the | |||
following URI: 'urn:scim:schemas:extension:enterprise:1.0'. | following URI: 'urn:scim:schemas:extension:enterprise:2.0:User'. | |||
The following Singular Attributes are defined: | The following Singular Attributes are defined: | |||
employeeNumber Numeric or alphanumeric identifier assigned to a | employeeNumber Numeric or alphanumeric identifier assigned to a | |||
person, typically based on order of hire or association with an | person, typically based on order of hire or association with an | |||
organization. | organization. | |||
costCenter Identifies the name of a cost center. | costCenter Identifies the name of a cost center. | |||
organization Identifies the name of an organization. | organization Identifies the name of an organization. | |||
division Identifies the name of a division. | division Identifies the name of a division. | |||
department Identifies the name of a department. | department Identifies the name of a department. | |||
manager The User's manager. A complex type that optionally allows | manager The User's manager. A complex type that optionally allows | |||
Service Providers to represent organizational hierarchy by | Service Providers to represent organizational hierarchy by | |||
referencing the "id" attribute of another User. | referencing the "id" attribute of another User. | |||
managerId The id of the SCIM resource representing the User's | managerId The id of the SCIM resource representing the User's | |||
manager. REQUIRED. | manager. REQUIRED. | |||
$ref The URI of the SCIM resource representing the User's | $ref The URI of the SCIM resource representing the User's | |||
manager. REQUIRED. | manager. REQUIRED. | |||
displayName The displayName of the User's manager. OPTIONAL and | displayName The displayName of the User's manager. OPTIONAL and | |||
READ-ONLY. | READ-ONLY. | |||
8. SCIM Group Schema | 8. SCIM Group Schema | |||
SCIM provides a schema for representing groups, identified using the | SCIM provides a schema for representing groups, identified using the | |||
following URI: 'urn:scim:schemas:core:1.0'. | following URI: 'urn:scim:schemas:core:2.0:Group'. | |||
Group resources are meant to enable expression of common Group or | Group resources are meant to enable expression of common Group or | |||
role based access control models, although no explicit authorization | role based access control models, although no explicit authorization | |||
model is defined. It is intended that the semantics of group | model is defined. It is intended that the semantics of group | |||
membership and any behavior or authorization granted as a result of | membership and any behavior or authorization granted as a result of | |||
membership are defined by the Service Provider are considered out of | membership are defined by the Service Provider are considered out of | |||
scope for this specification. | scope for this specification. | |||
The following Singular Attribute is defined in addition to the common | The following Singular Attribute is defined in addition to the common | |||
attributes defined in SCIM Core Schema: | attributes defined in SCIM Core Schema: | |||
skipping to change at page 16, line 24 | skipping to change at page 15, line 44 | |||
either a User, or a Group. The intention of the Group type is to | either a User, or a Group. The intention of the Group type is to | |||
allow the Service Provider to support nested Groups. Service | allow the Service Provider to support nested Groups. Service | |||
Providers MAY require Consumers to provide a non-empty members | Providers MAY require Consumers to provide a non-empty members | |||
value based on the "required" sub attribute of the "members" | value based on the "required" sub attribute of the "members" | |||
attribute in Group Resource Schema. | attribute in Group Resource Schema. | |||
9. Service Provider Configuration Schema | 9. Service Provider Configuration Schema | |||
SCIM provides a schema for representing the Service Provider's | SCIM provides a schema for representing the Service Provider's | |||
configuration identified using the following URI: | configuration identified using the following URI: | |||
'urn:scim:schemas:core:1.0' | 'urn:scim:schemas:core:2.0:ServiceProviderConfig' | |||
The Service Provider Configuration Resource enables a Service | The Service Provider Configuration Resource enables a Service | |||
Provider to expose its compliance with the SCIM specification in a | Provider to expose its compliance with the SCIM specification in a | |||
standardized form as well as provide additional implementation | standardized form as well as provide additional implementation | |||
details to Consumers. All attributes are READ-ONLY. | details to Consumers. All attributes are READ-ONLY. Unlike other | |||
core Resources, the "id" attribute is not required for the Service | ||||
Provider Configuration Resource. | ||||
The following Singular Attributes are defined in addition to the | The following Singular Attributes are defined in addition to the | |||
common attributes defined in Core Schema: | common attributes defined in Core Schema: | |||
documentationUrl An HTTP addressable URL pointing to the Service | documentationUrl An HTTP addressable URL pointing to the Service | |||
Provider's human consumable help documentation. | Provider's human consumable help documentation. | |||
patch A complex type that specifies PATCH configuration options. | patch A complex type that specifies PATCH configuration options. | |||
REQUIRED. | REQUIRED. | |||
supported Boolean value specifying whether the operation is | supported Boolean value specifying whether the operation is | |||
supported. REQUIRED. | supported. REQUIRED. | |||
bulk A complex type that specifies BULK configuration options. | bulk A complex type that specifies BULK configuration options. | |||
REQUIRED | REQUIRED | |||
supported Boolean value specifying whether the operation is | supported Boolean value specifying whether the operation is | |||
supported. REQUIRED. | supported. REQUIRED. | |||
maxOperations An integer value specifying the maximum number of | maxOperations An integer value specifying the maximum number of | |||
operations. REQUIRED. | operations. REQUIRED. | |||
maxPayloadSize An integer value specifying the maximum payload | maxPayloadSize An integer value specifying the maximum payload | |||
size in bytes. REQUIRED. | size in bytes. REQUIRED. | |||
filter A complex type that specifies FILTER options. REQUIRED. | filter A complex type that specifies FILTER options. REQUIRED. | |||
supported Boolean value specifying whether the operation is | supported Boolean value specifying whether the operation is | |||
supported. REQUIRED. | supported. REQUIRED. | |||
maxResults Integer value specifying the maximum number of | maxResults Integer value specifying the maximum number of | |||
Resources returned in a response. REQUIRED. | Resources returned in a response. REQUIRED. | |||
changePassword A complex type that specifies Change Password | changePassword A complex type that specifies Change Password | |||
configuration options. REQUIRED. | configuration options. REQUIRED. | |||
supported Boolean value specifying whether the operation is | supported Boolean value specifying whether the operation is | |||
supported. REQUIRED. | supported. REQUIRED. | |||
sort A complex type that specifies Sort configuration options. | sort A complex type that specifies Sort configuration options. | |||
REQUIRED. | REQUIRED. | |||
supported Boolean value specifying whether sorting is supported. | supported Boolean value specifying whether sorting is supported. | |||
REQUIRED. | REQUIRED. | |||
etag A complex type that specifies Etag configuration options. | etag A complex type that specifies Etag configuration options. | |||
REQUIRED. | REQUIRED. | |||
supported Boolean value specifying whether the operation is | supported Boolean value specifying whether the operation is | |||
supported. REQUIRED. | supported. REQUIRED. | |||
The following multi-valued attribute is defined in addition to the | The following multi-valued attribute is defined in addition to the | |||
common attributes defined in Core Schema: | common attributes defined in Core Schema: | |||
authenticationSchemes A complex type that specifies supported | authenticationSchemes A complex type that specifies supported | |||
Authentication Scheme properties. Instead of the standard | Authentication Scheme properties. Instead of the standard | |||
Canonical Values for type, this attribute defines the following | Canonical Values for type, this attribute defines the following | |||
Canonical Values to represent common schemes: oauth, oauth2, | Canonical Values to represent common schemes: oauth, oauth2, | |||
oauthbearertoken, httpbasic, and httpdigest. To enable seamless | oauthbearertoken, httpbasic, and httpdigest. To enable seamless | |||
discovery of configuration, the Service Provider SHOULD, with the | discovery of configuration, the Service Provider SHOULD, with the | |||
appropriate security considerations, make the | appropriate security considerations, make the | |||
authenticationSchemes attribute publicly accessible without prior | authenticationSchemes attribute publicly accessible without prior | |||
authentication. REQUIRED. | authentication. REQUIRED. | |||
name The common authentication scheme name; e.g., HTTP Basic. | name The common authentication scheme name; e.g., HTTP Basic. | |||
REQUIRED. | REQUIRED. | |||
description A description of the Authentication Scheme. | description A description of the Authentication Scheme. | |||
REQUIRED. | REQUIRED. | |||
specUrl A HTTP addressable URL pointing to the Authentication | specUrl A HTTP addressable URL pointing to the Authentication | |||
Scheme's specification. OPTIONAL. | Scheme's specification. OPTIONAL. | |||
documentationUrl A HTTP addressable URL pointing to the | documentationUrl A HTTP addressable URL pointing to the | |||
Authentication Scheme's usage documentation. OPTIONAL. | Authentication Scheme's usage documentation. OPTIONAL. | |||
10. Resource Schema | 10. Resource Type Schema | |||
The Resource schema specifies the Attribute(s) and meta-data that | The Resource Type schema specifies the meta-data about a Resource | |||
constitute a Resource. Schema Resources are READ-ONLY and identified | Type. Resource Type Resources are READ-ONLY and identified using the | |||
using the following URI: 'urn:scim:schemas:core:1.0'. Unlike other | following URI: 'urn:scim:schemas:core:2.0:ResourceType'. Unlike | |||
core Resources the schema Resource MAY contain a complex object | other core Resources, all Attributes are REQUIRED unless otherwise | |||
within a Sub-Attribute and all Attributes are REQUIRED unless other | specified, and the "id" attribute is not required for the Resource | |||
specified. | Type Resource. | |||
The following Singular Attributes are defined: | The following Singular Attributes are defined: | |||
name The Resource name. When applicable Service Providers MUST | name The Resource Type name. When applicable Service Providers MUST | |||
specify the name specified in the core schema specification; e.g., | specify the name specified in the core schema specification; e.g., | |||
"User" or "Group". | "User" or "Group". This name is referenced by the | |||
meta.resourceType attribute in all resources. | ||||
description The Resource's human readable description. When | description The Resource Type's human readable description. When | |||
applicable Service Providers MUST specify the description | applicable Service Providers MUST specify the description | |||
specified in the core schema specification. | specified in the core schema specification. | |||
schema The Resource's associated schema URI; e.g., | endpoint The Resource Type's HTTP addressable endpoint relative to | |||
urn:scim:schemas:core:1.0. | the Base URL; e.g., /Users. | |||
endpoint The Resource's HTTP addressable endpoint relative to the | schema The Resource Type's primary schema URI; e.g., | |||
Base URL; e.g., /Users. | urn:scim:schemas:core:2.0:User. This MUST be equal to the "id" | |||
attribute of the Schema. | ||||
schemaExtensions A list of URIs of the Resource Type's schema | ||||
extensions. OPTIONAL. | ||||
schema The URI of an extended schema; e.g., urn:edu:2.0:Staff. | ||||
This MUST be equal to the "id" attribute of a Schema. | ||||
REQUIRED. | ||||
required A Boolean value that specifies whether the schema | ||||
extension is required for the Resource Type. If true, a | ||||
Resource of this type MUST include this schema extension and | ||||
include any attributes declared as required in this schema | ||||
extension. If false, a Resource of this type MAY omit this | ||||
schema extension. REQUIRED. | ||||
11. Schema Schema | ||||
The Schema schema specifies the Attribute(s) and meta-data that | ||||
constitute a Schema. Schema Resources are READ-ONLY and identified | ||||
using the following URI: 'urn:scim:schemas:core:2.0:Schema'. Unlike | ||||
other core Resources the Schema Resource MAY contain a complex object | ||||
within a Sub-Attribute and all Attributes are REQUIRED unless other | ||||
specified. | ||||
The following Singular Attributes are defined: | ||||
id The unique URI of the schema. When applicable Service Providers | ||||
MUST specify the URI specified in the core schema specification; | ||||
e.g., "urn:scim:core:2.0:User". Unlike most other schemas, which | ||||
use some sort of a GUID for the "id", the Schema "id" is a URI so | ||||
that it can be registered and is portable between different | ||||
Service Providers and Clients. | ||||
name The Schema's human readable name. When applicable Service | ||||
Providers MUST specify the name specified in the core schema | ||||
specification; e.g., "User" or "Group". OPTIONAL. | ||||
description The Schema's human readable description. When | ||||
applicable Service Providers MUST specify the description | ||||
specified in the core schema specification. OPTIONAL. | ||||
The following multi-valued attribute is defined: | The following multi-valued attribute is defined: | |||
attributes A complex type that specifies the set of Resource | attributes A complex type that specifies the set of Resource | |||
attributes. | attributes. | |||
name The attribute's name. | name The attribute's name. | |||
type The attribute's data type; e.g., String. | type The attribute's data type; e.g., String. | |||
multiValued Boolean value indicating the attribute's plurality. | multiValued Boolean value indicating the attribute's plurality. | |||
description The attribute's human readable description. When | description The attribute's human readable description. When | |||
applicable Service Providers MUST specify the description | applicable Service Providers MUST specify the description | |||
specified in the core schema specification. | specified in the core schema specification. | |||
schema The attribute's associated schema; e.g., | ||||
urn:scim:schemas:core:1.0. | ||||
readOnly A Boolean value that specifies if the attribute is | readOnly A Boolean value that specifies if the attribute is | |||
mutable. | mutable. | |||
required A Boolean value that specifies if the attribute is | required A Boolean value that specifies if the attribute is | |||
required. | required. | |||
caseExact A Boolean value that specifies if the String attribute | caseExact A Boolean value that specifies if the String attribute | |||
is case sensitive. | is case sensitive. | |||
referenceTypes The names of the Resources that may be referenced; | referenceTypes The names of the Resource Types that may be | |||
e.g., User. This is only applicable for attributes that are of | referenced; e.g., User. This is only applicable for | |||
the "reference" data type. | attributes that are of the "reference" data type. | |||
The following multi-valued attributes are defined. There are | The following multi-valued attributes are defined. There | |||
no canonical type values defined and the primary value serves | are no canonical type values defined and the primary value | |||
no useful purpose. | serves no useful purpose. | |||
subAttributes A list specifying the contained attributes. | subAttributes A list specifying the contained attributes. | |||
OPTIONAL. | OPTIONAL. | |||
name The attribute's name. | name The attribute's name. | |||
type The attribute's data type; e.g., String. | type The attribute's data type; e.g., | |||
String. | ||||
description The attribute's human readable description. | description The attribute's human readable | |||
When applicable Service Providers MUST specify the | description. When applicable Service | |||
description specified in the core schema specification. | Providers MUST specify the description | |||
specified in the core schema | ||||
specification. | ||||
readOnly A Boolean value that specifies if the attribute is | readOnly A Boolean value that specifies if the | |||
mutable. | attribute is mutable. | |||
required A Boolean value that specifies if the attribute is | required A Boolean value that specifies if the | |||
required. | attribute is required. | |||
caseExact A Boolean value that specifies if the String | caseExact A Boolean value that specifies if the | |||
attribute is case sensitive. | String attribute is case sensitive. | |||
referenceTypes The names of the Resources that may be | referenceTypes The names of the Resource Types | |||
referenced; e.g., User. This is only applicable for | that may be referenced; e.g., User. | |||
attributes that are of the "reference" data type. | This is only applicable for attributes | |||
that are of the "reference" data type. | ||||
canonicalValues A collection of canonical values. When | canonicalValues A collection of canonical values. | |||
applicable Service Providers MUST specify the canonical | When applicable Service Providers MUST | |||
types specified in the core schema specification; | specify the canonical types specified | |||
e.g.,"work","home". OPTIONAL. | in the core schema specification; | |||
e.g.,"work","home". OPTIONAL. | ||||
11. JSON Representation | 12. JSON Representation | |||
11.1. Minimal User Representation | 12.1. Minimal User Representation | |||
The following is a non-normative example of the minimal required SCIM | The following is a non-normative example of the minimal required SCIM | |||
representation in JSON format. | representation in JSON format. | |||
{ | { | |||
"schemas": ["urn:scim:schemas:core:1.0"], | "schemas": ["urn:scim:schemas:core:2.0:User"], | |||
"id": "2819c223-7f76-453a-919d-413861904646", | "id": "2819c223-7f76-453a-919d-413861904646", | |||
"userName": "bjensen@example.com" | "userName": "bjensen@example.com" | |||
"meta": { | ||||
"resourceType": "User", | ||||
"created": "2010-01-23T04:56:22Z", | ||||
"lastModified": "2011-05-13T04:42:34Z", | ||||
"version": "W\/\"3694e05e9dff590\"", | ||||
"location": "https://example.com/v1/Users/2819c223-7f76-453a-919d-413861904646" | ||||
} | ||||
} | } | |||
11.2. Full User Representation | 12.2. Full User Representation | |||
The following is a non-normative example of the fully populated SCIM | The following is a non-normative example of the fully populated SCIM | |||
representation in JSON format. | representation in JSON format. | |||
{ | { | |||
"schemas": ["urn:scim:schemas:core:1.0"], | "schemas": ["urn:scim:schemas:core:2.0:User"], | |||
"id": "2819c223-7f76-453a-919d-413861904646", | "id": "2819c223-7f76-453a-919d-413861904646", | |||
"externalId": "701984", | "externalId": "701984", | |||
"userName": "bjensen@example.com", | "userName": "bjensen@example.com", | |||
"name": { | "name": { | |||
"formatted": "Ms. Barbara J Jensen III", | "formatted": "Ms. Barbara J Jensen III", | |||
"familyName": "Jensen", | "familyName": "Jensen", | |||
"givenName": "Barbara", | "givenName": "Barbara", | |||
"middleName": "Jane", | "middleName": "Jane", | |||
"honorificPrefix": "Ms.", | "honorificPrefix": "Ms.", | |||
"honorificSuffix": "III" | "honorificSuffix": "III" | |||
}, | }, | |||
"displayName": "Babs Jensen", | "displayName": "Babs Jensen", | |||
"nickName": "Babs", | "nickName": "Babs", | |||
"profileUrl": "https://login.example.com/bjensen", | "profileUrl": "https://login.example.com/bjensen", | |||
"emails": [ | "emails": [ | |||
{ | { | |||
"value": "bjensen@example.com", | "value": "bjensen@example.com", | |||
"type": "work", | "type": "work", | |||
"primary": true | "primary": true | |||
}, | }, | |||
{ | { | |||
"value": "babs@jensen.org", | "value": "babs@jensen.org", | |||
"type": "home" | "type": "home" | |||
} | } | |||
], | ], | |||
"addresses": [ | "addresses": [ | |||
{ | { | |||
"type": "work", | "type": "work", | |||
"streetAddress": "100 Universal City Plaza", | "streetAddress": "100 Universal City Plaza", | |||
"locality": "Hollywood", | "locality": "Hollywood", | |||
"region": "CA", | "region": "CA", | |||
"postalCode": "91608", | "postalCode": "91608", | |||
"country": "USA", | "country": "USA", | |||
"formatted": "100 Universal City Plaza\nHollywood, CA 91608 USA", | "formatted": "100 Universal City Plaza\nHollywood, CA 91608 USA", | |||
"primary": true | "primary": true | |||
}, | }, | |||
{ | { | |||
"type": "home", | "type": "home", | |||
"streetAddress": "456 Hollywood Blvd", | "streetAddress": "456 Hollywood Blvd", | |||
"locality": "Hollywood", | "locality": "Hollywood", | |||
"region": "CA", | "region": "CA", | |||
"postalCode": "91608", | "postalCode": "91608", | |||
"country": "USA", | "country": "USA", | |||
"formatted": "456 Hollywood Blvd\nHollywood, CA 91608 USA" | "formatted": "456 Hollywood Blvd\nHollywood, CA 91608 USA" | |||
} | } | |||
], | ], | |||
"phoneNumbers": [ | "phoneNumbers": [ | |||
{ | { | |||
"value": "555-555-5555", | "value": "555-555-5555", | |||
"type": "work" | "type": "work" | |||
}, | }, | |||
{ | { | |||
"value": "555-555-4444", | "value": "555-555-4444", | |||
"type": "mobile" | "type": "mobile" | |||
} | } | |||
], | ], | |||
"ims": [ | "ims": [ | |||
{ | { | |||
"value": "someaimhandle", | "value": "someaimhandle", | |||
"type": "aim" | "type": "aim" | |||
} | } | |||
], | ||||
], | "photos": [ | |||
"photos": [ | { | |||
{ | "value": "https://photos.example.com/profilephoto/72930000000Ccne/F", | |||
"value": "https://photos.example.com/profilephoto/72930000000Ccne/F", | "type": "photo" | |||
"type": "photo" | }, | |||
}, | { | |||
{ | "value": "https://photos.example.com/profilephoto/72930000000Ccne/T", | |||
"value": "https://photos.example.com/profilephoto/72930000000Ccne/T", | "type": "thumbnail" | |||
"type": "thumbnail" | } | |||
} | ], | |||
], | "userType": "Employee", | |||
"userType": "Employee", | "title": "Tour Guide", | |||
"title": "Tour Guide", | "preferredLanguage":"en_US", | |||
"preferredLanguage":"en_US", | "locale": "en_US", | |||
"locale": "en_US", | "timezone": "America/Los_Angeles", | |||
"timezone": "America/Los_Angeles", | "active":true, | |||
"active":true, | "password":"t1meMa$heen", | |||
"password":"t1meMa$heen", | "groups": [ | |||
"groups": [ | { | |||
{ | "value": "e9e30dba-f08f-4109-8486-d5c6a331660a", | |||
"value": "e9e30dba-f08f-4109-8486-d5c6a331660a", | "$ref": "https://example.com/v1/Groups/e9e30dba-f08f-4109-8486-d5c6a331660a", | |||
"$ref": "https://example.com/v1/Groups/e9e30dba-f08f-4109-8486-d5c6a331660a", | "display": "Tour Guides" | |||
"display": "Tour Guides" | }, | |||
}, | { | |||
{ | "value": "fc348aa8-3835-40eb-a20b-c726e15c55b5", | |||
"value": "fc348aa8-3835-40eb-a20b-c726e15c55b5", | "$ref": "https://example.com/v1/Groups/fc348aa8-3835-40eb-a20b-c726e15c55b5", | |||
"$ref": "https://example.com/v1/Groups/fc348aa8-3835-40eb-a20b-c726e15c55b5", | "display": "Employees" | |||
"display": "Employees" | }, | |||
}, | { | |||
{ | "value": "71ddacd2-a8e7-49b8-a5db-ae50d0a5bfd7", | |||
"value": "71ddacd2-a8e7-49b8-a5db-ae50d0a5bfd7", | "$ref": "https://example.com/v1/Groups/71ddacd2-a8e7-49b8-a5db-ae50d0a5bfd7", | |||
"$ref": "https://example.com/v1/Groups/71ddacd2-a8e7-49b8-a5db-ae50d0a5bfd7", | "display": "US Employees" | |||
"display": "US Employees" | } | |||
} | ], | |||
], | "x509Certificates": [ | |||
"x509Certificates": [ | { | |||
{ | "value": "MIIDQzCCAqygAwIBAgICEAAwDQYJKoZIhvcNAQEFBQAwTjELMAkGA1UEBhMCVVMx | |||
"value": "MIIDQzCCAqygAwIBAgICEAAwDQYJKoZIhvcNAQEFBQAwTjELMAkGA1UEBhMCVVMx | EzARBgNVBAgMCkNhbGlmb3JuaWExFDASBgNVBAoMC2V4YW1wbGUuY29tMRQwEgYD | |||
EzARBgNVBAgMCkNhbGlmb3JuaWExFDASBgNVBAoMC2V4YW1wbGUuY29tMRQwEgYD | VQQDDAtleGFtcGxlLmNvbTAeFw0xMTEwMjIwNjI0MzFaFw0xMjEwMDQwNjI0MzFa | |||
VQQDDAtleGFtcGxlLmNvbTAeFw0xMTEwMjIwNjI0MzFaFw0xMjEwMDQwNjI0MzFa | MH8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRQwEgYDVQQKDAtl | |||
MH8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRQwEgYDVQQKDAtl | eGFtcGxlLmNvbTEhMB8GA1UEAwwYTXMuIEJhcmJhcmEgSiBKZW5zZW4gSUlJMSIw | |||
eGFtcGxlLmNvbTEhMB8GA1UEAwwYTXMuIEJhcmJhcmEgSiBKZW5zZW4gSUlJMSIw | IAYJKoZIhvcNAQkBFhNiamVuc2VuQGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0B | |||
IAYJKoZIhvcNAQkBFhNiamVuc2VuQGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0B | AQEFAAOCAQ8AMIIBCgKCAQEA7Kr+Dcds/JQ5GwejJFcBIP682X3xpjis56AK02bc | |||
AQEFAAOCAQ8AMIIBCgKCAQEA7Kr+Dcds/JQ5GwejJFcBIP682X3xpjis56AK02bc | 1FLgzdLI8auoR+cC9/Vrh5t66HkQIOdA4unHh0AaZ4xL5PhVbXIPMB5vAPKpzz5i | |||
1FLgzdLI8auoR+cC9/Vrh5t66HkQIOdA4unHh0AaZ4xL5PhVbXIPMB5vAPKpzz5i | PSi8xO8SL7I7SDhcBVJhqVqr3HgllEG6UClDdHO7nkLuwXq8HcISKkbT5WFTVfFZ | |||
PSi8xO8SL7I7SDhcBVJhqVqr3HgllEG6UClDdHO7nkLuwXq8HcISKkbT5WFTVfFZ | zidPl8HZ7DhXkZIRtJwBweq4bvm3hM1Os7UQH05ZS6cVDgweKNwdLLrT51ikSQG3 | |||
zidPl8HZ7DhXkZIRtJwBweq4bvm3hM1Os7UQH05ZS6cVDgweKNwdLLrT51ikSQG3 | DYrl+ft781UQRIqxgwqCfXEuDiinPh0kkvIi5jivVu1Z9QiwlYEdRbLJ4zJQBmDr | |||
DYrl+ft781UQRIqxgwqCfXEuDiinPh0kkvIi5jivVu1Z9QiwlYEdRbLJ4zJQBmDr | SGTMYn4lRc2HgHO4DqB/bnMVorHB0CC6AV1QoFK4GPe1LwIDAQABo3sweTAJBgNV | |||
SGTMYn4lRc2HgHO4DqB/bnMVorHB0CC6AV1QoFK4GPe1LwIDAQABo3sweTAJBgNV | HRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZp | |||
HRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZp | Y2F0ZTAdBgNVHQ4EFgQU8pD0U0vsZIsaA16lL8En8bx0F/gwHwYDVR0jBBgwFoAU | |||
Y2F0ZTAdBgNVHQ4EFgQU8pD0U0vsZIsaA16lL8En8bx0F/gwHwYDVR0jBBgwFoAU | dGeKitcaF7gnzsNwDx708kqaVt0wDQYJKoZIhvcNAQEFBQADgYEAA81SsFnOdYJt | |||
dGeKitcaF7gnzsNwDx708kqaVt0wDQYJKoZIhvcNAQEFBQADgYEAA81SsFnOdYJt | Ng5Tcq+/ByEDrBgnusx0jloUhByPMEVkoMZ3J7j1ZgI8rAbOkNngX8+pKfTiDz1R | |||
Ng5Tcq+/ByEDrBgnusx0jloUhByPMEVkoMZ3J7j1ZgI8rAbOkNngX8+pKfTiDz1R | C4+dx8oU6Za+4NJXUjlL5CvV6BEYb1+QAEJwitTVvxB/A67g42/vzgAtoRUeDov1 | |||
C4+dx8oU6Za+4NJXUjlL5CvV6BEYb1+QAEJwitTVvxB/A67g42/vzgAtoRUeDov1 | +GFiBZ+GNF/cAYKcMtGcrs2i97ZkJMo=" | |||
+GFiBZ+GNF/cAYKcMtGcrs2i97ZkJMo=" | } | |||
} | ], | |||
], | "meta": { | |||
"meta": { | "resourceType": "User", | |||
"created": "2010-01-23T04:56:22Z", | "created": "2010-01-23T04:56:22Z", | |||
"lastModified": "2011-05-13T04:42:34Z", | "lastModified": "2011-05-13T04:42:34Z", | |||
"version": "W\/\"a330bc54f0671c9\"", | "version": "W\/\"a330bc54f0671c9\"", | |||
"location": "https://example.com/v1/Users/2819c223-7f76-453a-919d-413861904646" | "location": "https://example.com/v1/Users/2819c223-7f76-453a-919d-413861904646" | |||
} | } | |||
} | } | |||
11.3. Enterprise User Extension Representation | 12.3. Enterprise User Extension Representation | |||
The following is a non-normative example of the fully populated User | The following is a non-normative example of the fully populated User | |||
using the enterprise User extension in JSON format. | using the enterprise User extension in JSON format. | |||
{ | { | |||
"schemas": ["urn:scim:schemas:core:1.0", "urn:scim:schemas:extension:enterprise:1.0"], | "schemas": ["urn:scim:schemas:core:2.0:User", "urn:scim:schemas:extension:enterprise:2.0:User"], | |||
"id": "2819c223-7f76-453a-919d-413861904646", | "id": "2819c223-7f76-453a-919d-413861904646", | |||
"externalId": "701984", | "externalId": "701984", | |||
"userName": "bjensen@example.com", | "userName": "bjensen@example.com", | |||
"name": { | "name": { | |||
"formatted": "Ms. Barbara J Jensen III", | "formatted": "Ms. Barbara J Jensen III", | |||
"familyName": "Jensen", | "familyName": "Jensen", | |||
"givenName": "Barbara", | "givenName": "Barbara", | |||
"middleName": "Jane", | "middleName": "Jane", | |||
"honorificPrefix": "Ms.", | "honorificPrefix": "Ms.", | |||
"honorificSuffix": "III" | "honorificSuffix": "III" | |||
}, | }, | |||
"displayName": "Babs Jensen", | "displayName": "Babs Jensen", | |||
"nickName": "Babs", | "nickName": "Babs", | |||
"profileUrl": "https://login.example.com/bjensen", | "profileUrl": "https://login.example.com/bjensen", | |||
"emails": [ | "emails": [ | |||
{ | { | |||
"value": "bjensen@example.com", | "value": "bjensen@example.com", | |||
"type": "work", | "type": "work", | |||
"primary": true | "primary": true | |||
}, | }, | |||
{ | { | |||
"value": "babs@jensen.org", | "value": "babs@jensen.org", | |||
"type": "home" | "type": "home" | |||
} | ||||
} | ], | |||
], | "addresses": [ | |||
"addresses": [ | { | |||
{ | "streetAddress": "100 Universal City Plaza", | |||
"streetAddress": "100 Universal City Plaza", | "locality": "Hollywood", | |||
"locality": "Hollywood", | "region": "CA", | |||
"region": "CA", | "postalCode": "91608", | |||
"postalCode": "91608", | "country": "USA", | |||
"country": "USA", | "formatted": "100 Universal City Plaza\nHollywood, CA 91608 USA", | |||
"formatted": "100 Universal City Plaza\nHollywood, CA 91608 USA", | "type": "work", | |||
"type": "work", | "primary": true | |||
"primary": true | }, | |||
}, | { | |||
{ | "streetAddress": "456 Hollywood Blvd", | |||
"streetAddress": "456 Hollywood Blvd", | "locality": "Hollywood", | |||
"locality": "Hollywood", | "region": "CA", | |||
"region": "CA", | "postalCode": "91608", | |||
"postalCode": "91608", | "country": "USA", | |||
"country": "USA", | "formatted": "456 Hollywood Blvd\nHollywood, CA 91608 USA", | |||
"formatted": "456 Hollywood Blvd\nHollywood, CA 91608 USA", | "type": "home" | |||
"type": "home" | } | |||
], | ||||
"phoneNumbers": [ | ||||
{ | ||||
"value": "555-555-5555", | ||||
"type": "work" | ||||
}, | ||||
{ | ||||
"value": "555-555-4444", | ||||
"type": "mobile" | ||||
} | ||||
], | ||||
"ims": [ | ||||
{ | ||||
"value": "someaimhandle", | ||||
"type": "aim" | ||||
} | ||||
], | ||||
"photos": [ | ||||
{ | ||||
"value": "https://photos.example.com/profilephoto/72930000000Ccne/F", | ||||
"type": "photo" | ||||
}, | ||||
{ | ||||
"value": "https://photos.example.com/profilephoto/72930000000Ccne/T", | ||||
"type": "thumbnail" | ||||
} | ||||
], | ||||
"userType": "Employee", | ||||
"title": "Tour Guide", | ||||
"preferredLanguage":"en_US", | ||||
"locale": "en_US", | ||||
"timezone": "America/Los_Angeles", | ||||
"active":true, | ||||
"password":"t1meMa$heen", | ||||
"groups": [ | ||||
{ | ||||
"value": "e9e30dba-f08f-4109-8486-d5c6a331660a", | ||||
"$ref": "/Groups/e9e30dba-f08f-4109-8486-d5c6a331660a", | ||||
"display": "Tour Guides" | ||||
}, | ||||
{ | ||||
"value": "fc348aa8-3835-40eb-a20b-c726e15c55b5", | ||||
"$ref": "/Groups/fc348aa8-3835-40eb-a20b-c726e15c55b5", | ||||
"display": "Employees" | ||||
}, | ||||
{ | ||||
"value": "71ddacd2-a8e7-49b8-a5db-ae50d0a5bfd7", | ||||
"$ref": "/Groups/71ddacd2-a8e7-49b8-a5db-ae50d0a5bfd7", | ||||
"display": "US Employees" | ||||
} | ||||
], | ||||
"x509Certificates": [ | ||||
{ | ||||
"value": "MIIDQzCCAqygAwIBAgICEAAwDQYJKoZIhvcNAQEFBQAwTjELMAkGA1UEBhMCVVMx | ||||
EzARBgNVBAgMCkNhbGlmb3JuaWExFDASBgNVBAoMC2V4YW1wbGUuY29tMRQwEgYD | ||||
VQQDDAtleGFtcGxlLmNvbTAeFw0xMTEwMjIwNjI0MzFaFw0xMjEwMDQwNjI0MzFa | ||||
MH8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRQwEgYDVQQKDAtl | ||||
eGFtcGxlLmNvbTEhMB8GA1UEAwwYTXMuIEJhcmJhcmEgSiBKZW5zZW4gSUlJMSIw | ||||
IAYJKoZIhvcNAQkBFhNiamVuc2VuQGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0B | ||||
AQEFAAOCAQ8AMIIBCgKCAQEA7Kr+Dcds/JQ5GwejJFcBIP682X3xpjis56AK02bc | ||||
1FLgzdLI8auoR+cC9/Vrh5t66HkQIOdA4unHh0AaZ4xL5PhVbXIPMB5vAPKpzz5i | ||||
PSi8xO8SL7I7SDhcBVJhqVqr3HgllEG6UClDdHO7nkLuwXq8HcISKkbT5WFTVfFZ | ||||
zidPl8HZ7DhXkZIRtJwBweq4bvm3hM1Os7UQH05ZS6cVDgweKNwdLLrT51ikSQG3 | ||||
DYrl+ft781UQRIqxgwqCfXEuDiinPh0kkvIi5jivVu1Z9QiwlYEdRbLJ4zJQBmDr | ||||
SGTMYn4lRc2HgHO4DqB/bnMVorHB0CC6AV1QoFK4GPe1LwIDAQABo3sweTAJBgNV | ||||
HRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZp | ||||
Y2F0ZTAdBgNVHQ4EFgQU8pD0U0vsZIsaA16lL8En8bx0F/gwHwYDVR0jBBgwFoAU | ||||
dGeKitcaF7gnzsNwDx708kqaVt0wDQYJKoZIhvcNAQEFBQADgYEAA81SsFnOdYJt | ||||
Ng5Tcq+/ByEDrBgnusx0jloUhByPMEVkoMZ3J7j1ZgI8rAbOkNngX8+pKfTiDz1R | ||||
C4+dx8oU6Za+4NJXUjlL5CvV6BEYb1+QAEJwitTVvxB/A67g42/vzgAtoRUeDov1 | ||||
+GFiBZ+GNF/cAYKcMtGcrs2i97ZkJMo=" | ||||
} | ||||
], | ||||
"urn:scim:schemas:extension:enterprise:2.0:User": { | ||||
"employeeNumber": "701984", | ||||
"costCenter": "4130", | ||||
"organization": "Universal Studios", | ||||
"division": "Theme Park", | ||||
"department": "Tour Operations", | ||||
"manager": { | ||||
"managerId": "26118915-6090-4610-87e4-49d8ca9f808d", | ||||
"$ref": "/Users/26118915-6090-4610-87e4-49d8ca9f808d", | ||||
"displayName": "John Smith" | ||||
} | ||||
}, | ||||
"meta": { | ||||
"resourceType": "User", | ||||
"created": "2010-01-23T04:56:22Z", | ||||
"lastModified": "2011-05-13T04:42:34Z", | ||||
"version": "W\/\"3694e05e9dff591\"", | ||||
"location": "https://example.com/v1/Users/2819c223-7f76-453a-919d-413861904646" | ||||
} | } | |||
], | } | |||
"phoneNumbers": [ | ||||
{ | ||||
"value": "555-555-5555", | ||||
"type": "work" | ||||
}, | ||||
{ | ||||
"value": "555-555-4444", | ||||
"type": "mobile" | ||||
} | ||||
], | ||||
"ims": [ | ||||
{ | ||||
"value": "someaimhandle", | ||||
"type": "aim" | ||||
} | ||||
], | ||||
"photos": [ | ||||
{ | ||||
"value": "https://photos.example.com/profilephoto/72930000000Ccne/F", | ||||
"type": "photo" | ||||
}, | ||||
{ | ||||
"value": "https://photos.example.com/profilephoto/72930000000Ccne/T", | ||||
"type": "thumbnail" | ||||
} | ||||
], | ||||
"userType": "Employee", | ||||
"title": "Tour Guide", | ||||
"preferredLanguage":"en_US", | ||||
"locale": "en_US", | ||||
"timezone": "America/Los_Angeles", | ||||
"active":true, | ||||
"password":"t1meMa$heen", | ||||
"groups": [ | ||||
{ | ||||
"value": "e9e30dba-f08f-4109-8486-d5c6a331660a", | ||||
"$ref": "/Groups/e9e30dba-f08f-4109-8486-d5c6a331660a", | ||||
"display": "Tour Guides" | ||||
}, | ||||
{ | ||||
"value": "fc348aa8-3835-40eb-a20b-c726e15c55b5", | ||||
"$ref": "/Groups/fc348aa8-3835-40eb-a20b-c726e15c55b5", | ||||
"display": "Employees" | ||||
}, | ||||
{ | ||||
"value": "71ddacd2-a8e7-49b8-a5db-ae50d0a5bfd7", | ||||
"$ref": "/Groups/71ddacd2-a8e7-49b8-a5db-ae50d0a5bfd7", | ||||
"display": "US Employees" | ||||
} | ||||
], | ||||
"x509Certificates": [ | ||||
{ | ||||
"value": "MIIDQzCCAqygAwIBAgICEAAwDQYJKoZIhvcNAQEFBQAwTjELMAkGA1UEBhMCVVMx | ||||
EzARBgNVBAgMCkNhbGlmb3JuaWExFDASBgNVBAoMC2V4YW1wbGUuY29tMRQwEgYD | ||||
VQQDDAtleGFtcGxlLmNvbTAeFw0xMTEwMjIwNjI0MzFaFw0xMjEwMDQwNjI0MzFa | ||||
MH8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRQwEgYDVQQKDAtl | ||||
eGFtcGxlLmNvbTEhMB8GA1UEAwwYTXMuIEJhcmJhcmEgSiBKZW5zZW4gSUlJMSIw | ||||
IAYJKoZIhvcNAQkBFhNiamVuc2VuQGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0B | ||||
AQEFAAOCAQ8AMIIBCgKCAQEA7Kr+Dcds/JQ5GwejJFcBIP682X3xpjis56AK02bc | ||||
1FLgzdLI8auoR+cC9/Vrh5t66HkQIOdA4unHh0AaZ4xL5PhVbXIPMB5vAPKpzz5i | ||||
PSi8xO8SL7I7SDhcBVJhqVqr3HgllEG6UClDdHO7nkLuwXq8HcISKkbT5WFTVfFZ | ||||
zidPl8HZ7DhXkZIRtJwBweq4bvm3hM1Os7UQH05ZS6cVDgweKNwdLLrT51ikSQG3 | ||||
DYrl+ft781UQRIqxgwqCfXEuDiinPh0kkvIi5jivVu1Z9QiwlYEdRbLJ4zJQBmDr | ||||
SGTMYn4lRc2HgHO4DqB/bnMVorHB0CC6AV1QoFK4GPe1LwIDAQABo3sweTAJBgNV | ||||
HRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZp | ||||
Y2F0ZTAdBgNVHQ4EFgQU8pD0U0vsZIsaA16lL8En8bx0F/gwHwYDVR0jBBgwFoAU | ||||
dGeKitcaF7gnzsNwDx708kqaVt0wDQYJKoZIhvcNAQEFBQADgYEAA81SsFnOdYJt | ||||
Ng5Tcq+/ByEDrBgnusx0jloUhByPMEVkoMZ3J7j1ZgI8rAbOkNngX8+pKfTiDz1R | ||||
C4+dx8oU6Za+4NJXUjlL5CvV6BEYb1+QAEJwitTVvxB/A67g42/vzgAtoRUeDov1 | ||||
+GFiBZ+GNF/cAYKcMtGcrs2i97ZkJMo=" | ||||
} | ||||
], | ||||
"urn:scim:schemas:extension:enterprise:1.0": { | ||||
"employeeNumber": "701984", | ||||
"costCenter": "4130", | ||||
"organization": "Universal Studios", | ||||
"division": "Theme Park", | ||||
"department": "Tour Operations", | ||||
"manager": { | ||||
"managerId": "26118915-6090-4610-87e4-49d8ca9f808d", | ||||
"$ref": "/Users/26118915-6090-4610-87e4-49d8ca9f808d", | ||||
"displayName": "John Smith" | ||||
} | ||||
}, | ||||
"meta": { | ||||
"created": "2010-01-23T04:56:22Z", | ||||
"lastModified": "2011-05-13T04:42:34Z", | ||||
"version": "W\/\"3694e05e9dff591\"", | ||||
"location": "https://example.com/v1/Users/2819c223-7f76-453a-919d-413861904646" | ||||
} | ||||
} | ||||
11.4. Group Representation | 12.4. Group Representation | |||
The following is a non-normative example of SCIM Group representation | The following is a non-normative example of SCIM Group representation | |||
in JSON format. | in JSON format. | |||
{ | { | |||
"schemas": ["urn:scim:schemas:core:1.0"], | "schemas": ["urn:scim:schemas:core:2.0:Group"], | |||
"id": "e9e30dba-f08f-4109-8486-d5c6a331660a", | "id": "e9e30dba-f08f-4109-8486-d5c6a331660a", | |||
"displayName": "Tour Guides", | "displayName": "Tour Guides", | |||
"members": [ | "members": [ | |||
{ | { | |||
"value": "2819c223-7f76-453a-919d-413861904646", | "value": "2819c223-7f76-453a-919d-413861904646", | |||
"$ref": "https://example.com/v1/Users/2819c223-7f76-453a-919d-413861904646", | "$ref": "https://example.com/v1/Users/2819c223-7f76-453a-919d-413861904646", | |||
"display": "Babs Jensen" | "display": "Babs Jensen" | |||
}, | }, | |||
{ | { | |||
"value": "902c246b-6245-4190-8e05-00816be7344a", | "value": "902c246b-6245-4190-8e05-00816be7344a", | |||
"$ref": "https://example.com/v1/Users/902c246b-6245-4190-8e05-00816be7344a", | "$ref": "https://example.com/v1/Users/902c246b-6245-4190-8e05-00816be7344a", | |||
"display": "Mandy Pepperidge" | "display": "Mandy Pepperidge" | |||
} | } | |||
] | ] | |||
} | "meta": { | |||
11.5. Service Provider Configuration Representation | "resourceType": "Group", | |||
"created": "2010-01-23T04:56:22Z", | ||||
"lastModified": "2011-05-13T04:42:34Z", | ||||
"version": "W\/\"3694e05e9dff592\"", | ||||
"location": "https://example.com/v1/Groups/e9e30dba-f08f-4109-8486-d5c6a331660a" | ||||
} | ||||
} | ||||
12.5. Service Provider Configuration Representation | ||||
The following is a non-normative example of the SCIM Service Provider | The following is a non-normative example of the SCIM Service Provider | |||
Configuration representation in JSON format. | Configuration representation in JSON format. | |||
{ | { | |||
"schemas": ["urn:scim:schemas:core:1.0"], | "schemas": ["urn:scim:schemas:core:2.0:ServiceProviderConfig"], | |||
"documentationUrl":"http://example.com/help/scim.html", | "documentationUrl":"http://example.com/help/scim.html", | |||
"patch": { | "patch": { | |||
"supported":true | "supported":true | |||
}, | }, | |||
"bulk": { | "bulk": { | |||
"supported":true, | "supported":true, | |||
"maxOperations":1000, | "maxOperations":1000, | |||
"maxPayloadSize":1048576 | "maxPayloadSize":1048576 | |||
}, | }, | |||
"filter": { | "filter": { | |||
"supported":true, | "supported":true, | |||
"maxResults": 200 | "maxResults": 200 | |||
}, | }, | |||
"changePassword" : { | "changePassword" : { | |||
"supported":true | "supported":true | |||
}, | }, | |||
"sort": { | "sort": { | |||
"supported":true | "supported":true | |||
}, | }, | |||
"etag": { | "etag": { | |||
"supported":true | "supported":true | |||
}, | }, | |||
"authenticationSchemes": [ | "authenticationSchemes": [ | |||
{ | { | |||
"name": "OAuth Bearer Token", | "name": "OAuth Bearer Token", | |||
"description": "Authentication Scheme using the OAuth Bearer Token Standard", | "description": "Authentication Scheme using the OAuth Bearer Token Standard", | |||
"specUrl":"http://tools.ietf.org/html/draft-ietf-oauth-v2-bearer-01", | "specUrl":"http://tools.ietf.org/html/draft-ietf-oauth-v2-bearer-01", | |||
"documentationUrl":"http://example.com/help/oauth.html", | "documentationUrl":"http://example.com/help/oauth.html", | |||
"type":"oauthbearertoken", | "type":"oauthbearertoken", | |||
"primary": true | "primary": true | |||
}, | }, | |||
{ | { | |||
"name": "HTTP Basic", | "name": "HTTP Basic", | |||
"description": "Authentication Scheme using the Http Basic Standard", | "description": "Authentication Scheme using the Http Basic Standard", | |||
"specUrl":"http://www.ietf.org/rfc/rfc2617.txt", | "specUrl":"http://www.ietf.org/rfc/rfc2617.txt", | |||
"documentationUrl":"http://example.com/help/httpBasic.html", | "documentationUrl":"http://example.com/help/httpBasic.html", | |||
"type":"httpbasic" | "type":"httpbasic" | |||
} | ||||
], | ||||
"meta": { | ||||
"resourceType": "ServiceProviderConfig" | ||||
"created": "2010-01-23T04:56:22Z", | ||||
"lastModified": "2011-05-13T04:42:34Z", | ||||
"version": "W\/\"3694e05e9dff594\"" | ||||
} | } | |||
] | } | |||
} | ||||
11.6. Resource Schema Representation | ||||
The following is a normative example of the SCIM Resource Schema | 12.6. Resource Type Representation | |||
The following is a normative example of the SCIM Resource Type | ||||
representation in JSON format. | representation in JSON format. | |||
{ | { | |||
"id":"urn:scim:schemas:core:1.0:User", | "schemas": ["urn:scim:schemas:core:2.0:ResourceType"], | |||
"name":"User", | "name": "User", | |||
"description":"Core User", | "endpoint": "/Users", | |||
"schema":"urn:scim:schemas:core:1.0", | "description": "Core User", | |||
"endpoint":"/Users", | "schema": "urn:scim:schemas:core:2.0:User", | |||
"attributes":[ | "schemaExtensions": [ | |||
{ | { | |||
"name":"id", | "schema": "urn:scim:schemas:extension:enterprise:2.0:EnterpriseUser", | |||
"type":"string", | "required": true | |||
"multiValued":false, | } | |||
"description":"Unique identifier for the SCIM resource as defined by the Service Provider. Each representation of the resource MUST include a non-empty id value. This identifier MUST be unique across the Service Provider's entire set of resources. It MUST be a stable, non-reassignable identifier that does not change when the same resource is returned in subsequent requests. The value of the id attribute is always issued by the Service Provider and MUST never be specified by the Service Consumer. REQUIRED.", | ], | |||
"schema":"urn:scim:schemas:core:1.0", | "meta": { | |||
"readOnly":true, | "resourceType": "ResourceType", | |||
"required":true, | "created": "2010-01-23T04:56:22Z", | |||
"caseExact":false | "lastModified": "2011-05-13T04:42:34Z", | |||
}, | "version": "W\/\"3694e05e9dff595\"" | |||
{ | } | |||
"name":"name", | } | |||
"type":"complex", | ||||
"multiValued":false, | 12.7. Schema Representation | |||
"description":"The components of the user's real name. Providers MAY return just the full name as a single string in the formatted sub-attribute, or they MAY return just the individual component attributes using the other sub-attributes, or they MAY return both. If both variants are returned, they SHOULD be describing the same name, with the formatted name indicating how the component attributes should be combined.", | ||||
"schema":"urn:scim:schemas:core:1.0", | The following is a normative example of the SCIM Schema | |||
"readOnly":false, | representation in JSON format. | |||
"required":false, | ||||
"caseExact":false, | { | |||
"subAttributes":[ | "id": "urn:scim:schemas:core:2.0:User", | |||
{ | "name": "User", | |||
"name":"formatted", | "description": "Core User", | |||
"type":"string", | "attributes":[ | |||
"multiValued":false, | { | |||
"description":"The full name, including all middle names, titles, and suffixes as appropriate, formatted for display (e.g. Ms. Barbara J Jensen, III.)." , | "name":"id", | |||
"readOnly":false, | "type":"string", | |||
"required":false, | "multiValued":false, | |||
"caseExact":false | "description":"Unique identifier for the SCIM resource as defined by the Service Provider. Each representation of the resource MUST include a non-empty id value. This identifier MUST be unique across the Service Provider's entire set of resources. It MUST be a stable, non-reassignable identifier that does not change when the same resource is returned in subsequent requests. The value of the id attribute is always issued by the Service Provider and MUST never be specified by the Service Consumer. REQUIRED.", | |||
}, | "readOnly":true, | |||
{ | "required":true, | |||
"name":"familyName", | "caseExact":false | |||
"type":"string", | }, | |||
"multiValued":false, | { | |||
"description":"The family name of the User, or Last Name in most Western languages (e.g. Jensen given the full name Ms. Barbara J Jensen, III.).", | "name":"name", | |||
"readOnly":false, | "type":"complex", | |||
"required":false, | "multiValued":false, | |||
"caseExact":false | "description":"The components of the user's real name. Providers MAY return just the full name as a single string in the formatted sub-attribute, or they MAY return just the individual component attributes using the other sub-attributes, or they MAY return both. If both variants are returned, they SHOULD be describing the same name, with the formatted name indicating how the component attributes should be combined.", | |||
}, | "readOnly":false, | |||
{ | "required":false, | |||
"name":"givenName", | "caseExact":false, | |||
"type":"string", | "subAttributes":[ | |||
"multiValued":false, | { | |||
"description":"The given name of the User, or First Name in most Western languages (e.g. Barbara given the full name Ms. Barbara J Jensen, III.).", | "name":"formatted", | |||
"readOnly":false, | "type":"string", | |||
"required":false, | "multiValued":false, | |||
"caseExact":false | "description":"The full name, including all middle names, titles, and suffixes as appropriate, formatted for display (e.g. Ms. Barbara J Jensen, III.)." , | |||
}, | "readOnly":false, | |||
{ | "required":false, | |||
"name":"middleName", | "caseExact":false | |||
"type":"string", | }, | |||
"multiValued":false, | { | |||
"description":"The middle name(s) of the User (e.g. Robert given the full name Ms. Barbara J Jensen, III.).", | "name":"familyName", | |||
"readOnly":false, | "type":"string", | |||
"required":false, | "multiValued":false, | |||
"caseExact":false | "description":"The family name of the User, or Last Name in most Western languages (e.g. Jensen given the full name Ms. Barbara J Jensen, III.).", | |||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"givenName", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The given name of the User, or First Name in most Western languages (e.g. Barbara given the full name Ms. Barbara J Jensen, III.).", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"middleName", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The middle name(s) of the User (e.g. Robert given the full name Ms. Barbara J Jensen, III.).", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"honorificPrefix", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The honorific prefix(es) of the User, or Title in most Western languages (e.g. Ms. given the full name Ms. Barbara J Jensen, III.).", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"honorificSuffix", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The honorific suffix(es) of the User, or Suffix in most Western languages (e.g. III. given the full name Ms. Barbara J Jensen, III.).", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
} | ||||
] | ||||
}, | }, | |||
{ | { | |||
"name":"honorificPrefix", | "name":"emails", | |||
"type":"string", | "type":"complex", | |||
"multiValued":false, | "multiValued":true, | |||
"description":"The honorific prefix(es) of the User, or Title in most Western languages (e.g. Ms. given the full name Ms. Barbara J Jensen, III.).", | "description":"E-mail addresses for the user. The value SHOULD be canonicalized by the Service Provider, e.g. bjensen@example.com instead of bjensen@EXAMPLE.COM. Canonical Type values of work, home, and other.", | |||
"readOnly":false, | "readOnly":false, | |||
"required":false, | "required":false, | |||
"caseExact":false | "caseExact":false, | |||
"subAttributes":[ | ||||
{ | ||||
"name":"value", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"E-mail addresses for the user. The value SHOULD be canonicalized by the Service Provider, e.g. bjensen@example.com instead of bjensen@EXAMPLE.COM. Canonical Type values of work, home, and other.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"display", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"A human readable name, primarily used for display purposes. READ-ONLY.", | ||||
"readOnly":true, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"type", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"A label indicating the attribute's function; e.g., 'work' or 'home'.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false, | ||||
"canonicalValues":["work","home","other"] | ||||
}, | ||||
{ | ||||
"name":"primary", | ||||
"type":"boolean", | ||||
"multiValued":false, | ||||
"description":"A Boolean value indicating the 'primary' or preferred attribute value for this attribute, e.g. the preferred mailing address or primary e-mail address. The primary attribute value 'true' MUST appear no more than once.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
} | ||||
}, | }, | |||
{ | { | |||
"name":"honorificSuffix", | "name":"addresses", | |||
"type":"string", | "type":"complex", | |||
"multiValued":false, | "multiValued":true, | |||
"description":"The honorific suffix(es) of the User, or Suffix in most Western languages (e.g. III. given the full name Ms. Barbara J Jensen, III.).", | "description":"A physical mailing address for this User, as described in (address Element). Canonical Type Values of work, home, and other. The value attribute is a complex type with the following sub-attributes.", | |||
"readOnly":false, | "readOnly":false, | |||
"required":false, | "required":false, | |||
"caseExact":false | "caseExact":false, | |||
"subAttributes":[ | ||||
{ | ||||
"name":"formatted", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The full mailing address, formatted for display or use with a mailing label. This attribute MAY contain newlines.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"streetAddress", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The full street address component, which may include house number, street name, PO BOX, and multi-line extended street address information. This attribute MAY contain newlines.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"locality", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The city or locality component.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"region", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The state or region component.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"postalCode", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The zipcode or postal code component.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"country", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The country name component.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"type", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"A label indicating the attribute's function; e.g., 'work' or 'home'.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false, | ||||
"canonicalValues":["work","home","other"] | ||||
} | ||||
] | ||||
} | } | |||
] | ], | |||
}, | "meta": { | |||
{ | "resourceType": "Schema" | |||
"name":"emails", | "created": "2010-01-23T04:56:22Z", | |||
"type":"complex", | "lastModified": "2011-05-13T04:42:34Z", | |||
"multiValued":true, | "version": "W\/\"3694e05e9dff596\"", | |||
"description":"E-mail addresses for the user. The value SHOULD be canonicalized by the Service Provider, e.g. bjensen@example.com instead of bjensen@EXAMPLE.COM. Canonical Type values of work, home, and other.", | "location": "https://example.com/v1/Schemas/urn:scim:schemas:core:2.0:User" | |||
"schema":"urn:scim:schemas:core:1.0", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false, | ||||
"subAttributes":[ | ||||
{ | ||||
"name":"value", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"E-mail addresses for the user. The value SHOULD be canonicalized by the Service Provider, e.g. bjensen@example.com instead of bjensen@EXAMPLE.COM. Canonical Type values of work, home, and other.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"display", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"A human readable name, primarily used for display purposes. READ-ONLY.", | ||||
"readOnly":true, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"type", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"A label indicating the attribute's function; e.g., 'work' or 'home'.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false, | ||||
"canonicalValues":["work","home","other"] | ||||
}, | ||||
{ | ||||
"name":"primary", | ||||
"type":"boolean", | ||||
"multiValued":false, | ||||
"description":"A Boolean value indicating the 'primary' or preferred attribute value for this attribute, e.g. the preferred mailing address or primary e-mail address. The primary attribute value 'true' MUST appear no more than once.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
} | ||||
}, | ||||
{ | ||||
"name":"addresses", | ||||
"type":"complex", | ||||
"multiValued":true, | ||||
"description":"A physical mailing address for this User, as described in (address Element). Canonical Type Values of work, home, and other. The value attribute is a complex type with the following sub-attributes.", | ||||
"schema":"urn:scim:schemas:core:1.0", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false, | ||||
"subAttributes":[ | ||||
{ | ||||
"name":"formatted", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The full mailing address, formatted for display or use with a mailing label. This attribute MAY contain newlines.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"streetAddress", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The full street address component, which may include house number, street name, PO BOX, and multi-line extended street address information. This attribute MAY contain newlines.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"locality", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The city or locality component.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"region", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The state or region component.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"postalCode", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The zipcode or postal code component.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"country", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"The country name component.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
}, | ||||
{ | ||||
"name":"type", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"A label indicating the attribute's function; e.g., 'work' or 'home'.", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false, | ||||
"canonicalValues":["work","home","other"] | ||||
}, | ||||
] | ||||
}, | ||||
{ | ||||
"name":"employeeNumber", | ||||
"type":"string", | ||||
"multiValued":false, | ||||
"description":"Numeric or alphanumeric identifier assigned to a person, typically based on order of hire or association with an organization.", | ||||
"schema":"urn:scim:schemas:extension:enterprise:1.0", | ||||
"readOnly":false, | ||||
"required":false, | ||||
"caseExact":false | ||||
} | } | |||
] | } | |||
} | ||||
12. Security Considerations | 13. Security Considerations | |||
The SCIM Core schema contains personally identifiable information as | The SCIM Core schema contains personally identifiable information as | |||
well as other sensitive data. Aside from prohibiting password values | well as other sensitive data. Aside from prohibiting password values | |||
in a SCIM response this specification does not provide any means or | in a SCIM response this specification does not provide any means or | |||
guarantee of confidentiality. | guarantee of confidentiality. | |||
13. Normative References | 14. Normative References | |||
[PortableContacts] | [PortableContacts] | |||
Smarr, J., "Portable Contacts 1.0 Draft C - Schema Only", | Smarr, J., "Portable Contacts 1.0 Draft C - Schema Only", | |||
August 2008. | August 2008. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[1] <http://json.org> | ||||
[2] <http://tools.ietf.org/html/rfc4627> | ||||
[3] <http://www.w3.org/TR/xmlschema-2/> | ||||
[4] <http://tools.ietf.org/html/rfc4512> | ||||
[5] <http://www.loc.gov/standards/iso639-2/php/code_list.php> | ||||
[6] <http://www.iso.org/iso/country_codes/iso_3166_code_lists/ | ||||
country_names_and_code_elements.htm> | ||||
[7] <http://www.twinsun.com/tz/tz-link.htm> | ||||
[8] <http://tools.ietf.org/html/rfc3966> | ||||
Appendix A. Contributors | Appendix A. Contributors | |||
The SCIM Community would like to thank the following people for the | The SCIM Community would like to thank the following people for the | |||
work they've done in the research, formulation, drafting, editing, | work they've done in the research, formulation, drafting, editing, | |||
and support of this specification. | and support of this specification. | |||
Morteza Ansari (morteza.ansari@cisco.com) | Morteza Ansari (morteza.ansari@cisco.com) | |||
Sidharth Choudhury (schoudhury@salesforce.com) | Sidharth Choudhury (schoudhury@salesforce.com) | |||
End of changes. 112 change blocks. | ||||
748 lines changed or deleted | 832 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |