mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 03:47:33 +00:00
feat: add scim v2 service provider configuration endpoints (#9258)
# Which Problems Are Solved * Adds support for the service provider configuration SCIM v2 endpoints # How the Problems Are Solved * Adds support for the service provider configuration SCIM v2 endpoints * `GET /scim/v2/{orgId}/ServiceProviderConfig` * `GET /scim/v2/{orgId}/ResourceTypes` * `GET /scim/v2/{orgId}/ResourceTypes/{name}` * `GET /scim/v2/{orgId}/Schemas` * `GET /scim/v2/{orgId}/Schemas/{id}` # Additional Context Part of #8140 Co-authored-by: Stefan Benz <46600784+stebenz@users.noreply.github.com>
This commit is contained in:
41
internal/api/scim/integration_test/testdata/service_provider_config_expected.json
vendored
Normal file
41
internal/api/scim/integration_test/testdata/service_provider_config_expected.json
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"schemas": [
|
||||
"urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"
|
||||
],
|
||||
"meta": {
|
||||
"resourceType": "ServiceProviderConfig",
|
||||
"location": "http://{domain}:8080/scim/v2/{orgId}/ServiceProviderConfig"
|
||||
},
|
||||
"documentationUri": "https://zitadel.com/docs/guides/manage/user/scim2",
|
||||
"patch": {
|
||||
"supported": true
|
||||
},
|
||||
"bulk": {
|
||||
"supported": true,
|
||||
"maxOperations": 100,
|
||||
"maxPayloadSize": 1000000
|
||||
},
|
||||
"filter": {
|
||||
"supported": true,
|
||||
"maxResults": 100
|
||||
},
|
||||
"changePassword": {
|
||||
"supported": true
|
||||
},
|
||||
"sort": {
|
||||
"supported": true
|
||||
},
|
||||
"etag": {
|
||||
"supported": false
|
||||
},
|
||||
"authenticationSchemes": [
|
||||
{
|
||||
"name": "Zitadel authentication token",
|
||||
"description": "Authentication scheme using the OAuth Bearer Token Standard",
|
||||
"specUri": "https://www.rfc-editor.org/info/rfc6750",
|
||||
"documentationUri": "https://zitadel.com/docs/guides/integrate/service-users/authenticate-service-users",
|
||||
"type": "oauthbearertoken",
|
||||
"primary": false
|
||||
}
|
||||
]
|
||||
}
|
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"schemas": [
|
||||
"urn:ietf:params:scim:schemas:core:2.0:ResourceType"
|
||||
],
|
||||
"meta": {
|
||||
"resourceType": "User",
|
||||
"location": "http://{domain}:8080/scim/v2/{orgId}/ResourceTypes/User"
|
||||
},
|
||||
"id": "User",
|
||||
"name": "User",
|
||||
"endpoint": "Users",
|
||||
"schema": "urn:ietf:params:scim:schemas:core:2.0:User",
|
||||
"description": "User Account"
|
||||
}
|
24
internal/api/scim/integration_test/testdata/service_provider_config_expected_resource_types.json
vendored
Normal file
24
internal/api/scim/integration_test/testdata/service_provider_config_expected_resource_types.json
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schemas": [
|
||||
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
|
||||
],
|
||||
"itemsPerPage": 100,
|
||||
"totalResults": 1,
|
||||
"startIndex": 1,
|
||||
"Resources": [
|
||||
{
|
||||
"schemas": [
|
||||
"urn:ietf:params:scim:schemas:core:2.0:ResourceType"
|
||||
],
|
||||
"meta": {
|
||||
"resourceType": "User",
|
||||
"location": "http://{domain}:8080/scim/v2/{orgId}/ResourceTypes/User"
|
||||
},
|
||||
"id": "User",
|
||||
"name": "User",
|
||||
"endpoint": "Users",
|
||||
"schema": "urn:ietf:params:scim:schemas:core:2.0:User",
|
||||
"description": "User Account"
|
||||
}
|
||||
]
|
||||
}
|
601
internal/api/scim/integration_test/testdata/service_provider_config_expected_schemas.json
vendored
Normal file
601
internal/api/scim/integration_test/testdata/service_provider_config_expected_schemas.json
vendored
Normal file
@@ -0,0 +1,601 @@
|
||||
{
|
||||
"schemas": [
|
||||
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
|
||||
],
|
||||
"itemsPerPage": 100,
|
||||
"totalResults": 1,
|
||||
"startIndex": 1,
|
||||
"Resources": [
|
||||
{
|
||||
"schemas": [
|
||||
"urn:ietf:params:scim:schemas:core:2.0:Schema"
|
||||
],
|
||||
"meta": {
|
||||
"resourceType": "Schema",
|
||||
"location": "http://{domain}:8080/scim/v2/{orgId}/Schemas/urn:ietf:params:scim:schemas:core:2.0:User"
|
||||
},
|
||||
"id": "urn:ietf:params:scim:schemas:core:2.0:User",
|
||||
"name": "User",
|
||||
"description": "User Account",
|
||||
"attributes": [
|
||||
{
|
||||
"name": "externalId",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "userName",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": true,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "server"
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "formatted",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "familyName",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": true,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "givenName",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": true,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "middleName",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "honorificPrefix",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "honorificSuffix",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": false,
|
||||
"required": true,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "displayName",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "nickName",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "profileUrl",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "title",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "preferredLanguage",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "locale",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "timezone",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "active",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "boolean",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "emails",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "value",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": true,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "primary",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "boolean",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": true,
|
||||
"required": true,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "phoneNumbers",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "value",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "primary",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "boolean",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": true,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "password",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "writeOnly",
|
||||
"returned": "never",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "ims",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "value",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "type",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": true,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "addresses",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "type",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "streetAddress",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "locality",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "region",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "postalCode",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "country",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "formatted",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "primary",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "boolean",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": true,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "photos",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "value",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "display",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "type",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "primary",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "boolean",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": true,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "entitlements",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "value",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "display",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "type",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "primary",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "boolean",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": true,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "roles",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "value",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "display",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "type",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "primary",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "boolean",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": true,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
591
internal/api/scim/integration_test/testdata/service_provider_config_expected_user_schema.json
vendored
Normal file
591
internal/api/scim/integration_test/testdata/service_provider_config_expected_user_schema.json
vendored
Normal file
@@ -0,0 +1,591 @@
|
||||
{
|
||||
"schemas": [
|
||||
"urn:ietf:params:scim:schemas:core:2.0:Schema"
|
||||
],
|
||||
"meta": {
|
||||
"resourceType": "Schema",
|
||||
"location": "http://{domain}:8080/scim/v2/{orgId}/Schemas/urn:ietf:params:scim:schemas:core:2.0:User"
|
||||
},
|
||||
"id": "urn:ietf:params:scim:schemas:core:2.0:User",
|
||||
"name": "User",
|
||||
"description": "User Account",
|
||||
"attributes": [
|
||||
{
|
||||
"name": "externalId",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "userName",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": true,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "server"
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "formatted",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "familyName",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": true,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "givenName",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": true,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "middleName",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "honorificPrefix",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "honorificSuffix",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": false,
|
||||
"required": true,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "displayName",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "nickName",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "profileUrl",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "title",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "preferredLanguage",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "locale",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "timezone",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "active",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "boolean",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "emails",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "value",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": true,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "primary",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "boolean",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": true,
|
||||
"required": true,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "phoneNumbers",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "value",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "primary",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "boolean",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": true,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "password",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "writeOnly",
|
||||
"returned": "never",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "ims",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "value",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "type",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": true,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "addresses",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "type",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "streetAddress",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "locality",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "region",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "postalCode",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "country",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "formatted",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "primary",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "boolean",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": true,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "photos",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "value",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "display",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "type",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "primary",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "boolean",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": true,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "entitlements",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "value",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "display",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "type",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "primary",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "boolean",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": true,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "roles",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "complex",
|
||||
"subAttributes": [
|
||||
{
|
||||
"name": "value",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "display",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "type",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "primary",
|
||||
"description": "For details see RFC7643",
|
||||
"type": "boolean",
|
||||
"multiValued": false,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
],
|
||||
"multiValued": true,
|
||||
"required": false,
|
||||
"caseExact": true,
|
||||
"mutability": "readWrite",
|
||||
"returned": "always",
|
||||
"uniqueness": "none"
|
||||
}
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user