Personalizando Esquemas do Usuário
Quando começar a usar domínios de identidades, você poderá carregar um conjunto diferente de identidades de usuário com base nos requisitos de vários departamentos dentro ou fora da sua organização. A Personalização do Esquema permite que você crie esquemas personalizados específicos do domínio de identidades para complementar os atributos prontos para uso (OOTB) de um recurso e permite que os esquemas do usuário sejam estendidos.
Um esquema personalizado está disponível no OOTB como um esquema vazio sem atributos definidos. O esquema "Usuário Personalizado" a seguir é um exemplo de um esquema personalizado vazio sem atributos. Este esquema personalizado é usado como exemplo para todos os payloads de solicitação de exemplo neste caso de uso.
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"meta": {
"resourceType": "Schema",
"created": "2022-08-15T05:02:13.788Z",
"lastModified": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>>/admin/v1/Schemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
},
"idcsLastModifiedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
}
Você não pode atualizar as propriedades a seguir. Qualquer tentativa de atualizar essas propriedades é ignorada.
tipo
idcsSearchable
unicidade
caseExact
idcsSensitive
multiValued
necessário
Adicionando Atributos de Esquema de Usuário Personalizados
Os links a seguir fornecem informações e solicitações de exemplo para adicionar atributos de esquema de usuário personalizados usando os métodos PUT e PATCH. Também são incluídas informações sobre as validações executadas ao adicionar atributos.
Atualizando Atributos de Esquema de Usuário Personalizados
Os links a seguir fornecem informações e solicitações de exemplo para atualizar atributos de esquema de usuário personalizados usando os métodos PUT e PATCH. Também são incluídas informações sobre validações executadas durante a atualização de atributos.
Removendo Atributos de Esquema Personalizados
Os links a seguir fornecem informações e solicitações de exemplo ao remover atributos de esquema de usuário personalizados usando os métodos PUT e PATCH. Informações sobre validações executadas ao remover atributos também são incluídas.
Ativando a Importação de Atributos do Esquema do Usuário Personalizado
O link a seguir fornece informações e solicitações de exemplo ao importar atributos personalizados do esquema do usuário.
Adicionando Atributos de Esquema de Usuário Personalizados Usando PUT
Preencha um esquema personalizado vazio adicionando novos atributos usando o método PUT.
Neste exemplo, estamos atualizando os seguintes atributos:
Atributo | Tipo |
---|---|
subDivision |
string |
branchAddress |
string |
Exemplo de Solicitação PUT
PUT /admin/v1/Schemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:extension:custom:2.0:User",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"idcsResourceTypes": ["User"],
"attributes": [
{
"name": "subDivision",
"idcsDisplayName": "Sub Division",
"type": "string",
"idcsMinLength": 5,
"idcsMaxLength": 30,
"description": "SubDivision",
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
},
{
"name": "branchAddress",
"idcsDisplayName": "Branch Address",
"type": "string",
"description": "Branch Office Address",
"idcsMinLength": 5,
"idcsMaxLength": 300,
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
}
]
}
Exemplo de Resposta JSON
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"attributes": [
{
"idcsDisplayName": "Sub Division",
"name": "subDivision",
"mutability": "readWrite",
"idcsMinLength": 5,
"description": "SubDivision",
"type": "string",
"idcsSearchable": true,
"idcsMaxLength": 30,
"multiValued": false,
"returned": "always",
"uniqueness": "none",
"required": false,
"caseExact": true,
"idcsValuePersisted": true,
"idcsTargetAttributeName": "I_VC_40_IFLEX_1"
},
{
"name": "branchAddress",
"description": "Branch Office Address",
"mutability": "readWrite",
"idcsMinLength": 5,
"type": "string",
"idcsSearchable": true,
"idcsMaxLength": 300,
"multiValued": false,
"returned": "always",
"idcsDisplayName": "Branch Address",
"uniqueness": "none",
"required": false,
"caseExact": true,
"idcsValuePersisted": true,
"idcsTargetAttributeName": "I_VC_4K_IFLEX_1"
}
],
"meta": {
"lastModified": "2022-08-15T19:26:40.603Z",
"resourceType": "TenantSchema",
"created": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>>/admin/v1/TenantSchemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsLastModifiedBy": {
"type": "App",
"display": "admin",
"$ref": "https://<domainURL>>/admin/v1/Apps"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
}
}
Adicionando Atributos de Esquema de Usuário Personalizados Usando PATCH
Este exemplo mostra como usar PATCH "op": "add" para adicionar atributos personalizados.
As validações realizadas durante a realização dessas operações são semelhantes ao método PUT. Consulte a seção Validações Executadas ao Adicionar Atributos para obter mais informações.
Atualize o esquema personalizado para adicionar novos atributos usando PATCH. Neste exemplo, a operação de "adição" PATCH é usada e o nome do atributo é selecionado do payload de solicitação para aplicação de PATCH. Se o nome especificado já existir, ele será substituído automaticamente. Se ele não existir, o atributo será adicionado automaticamente. Se a propriedade de nome estiver ausente, uma mensagem de erro será exibida.
Exemplo de Solicitação PATCH
PATCH /Schemas/urn:itef:params:scim:schemas:idcs:extension:custom:User
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "add",
"path": "attributes",
"value": [
{
"idcsValuePersisted": true,
"uniqueness": "none",
"name": "nickName",
"idcsDisplayName": "NICKNAME100",
"description": "NICKNAME100",
"required": false,
"type": "string",
"idcsMinLength": 10,
"idcsMaxLength": 100,
"idcsAuditable": true,
"caseExact": true,
"returned": "default",
"idcsSearchable": true,
"multiValued": false
}
]
}
]
}
Exemplo de Resposta JSON
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"attributes": [
{
"idcsTargetAttributeName": "I_VC_4K_IFLEX_2",
"idcsDisplayName": "NICKNAME100",
"description": "NICKNAME100",
"type": "string",
"idcsAuditable": true,
"required": false,
"returned": "default",
"idcsValuePersisted": true,
"idcsMaxLength": 100,
"idcsSearchable": true,
"idcsMinLength": 10,
"multiValued": false,
"caseExact": true,
"uniqueness": "none",
"name": "nickName"
}
],
"meta": {
"lastModified": "2022-08-15T19:31:37.247Z",
"resourceType": "TenantSchema",
"created": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>/admin/v1/TenantSchemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsLastModifiedBy": {
"type": "App",
"display": "admin",
"$ref": "https://<domainURL>/admin/v1/Apps"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
Validações Realizadas ao Adicionar Atributos
Quando você adiciona atributos personalizados, os domínios de identidades executam determinadas validações. A tabela a seguir descreve as validações com base na operação Adicionar.
Adicionar Validações
Esta tabela descreve as validações que os domínios de identidades executam quando você adiciona novos atributos personalizados ao esquema de destino.
Nome do Atributo | Validações Realizadas |
---|---|
nome |
Procurar duplicados. Este valor deve ser exclusivo no esquema personalizado. |
idcsDisplayName |
Procurar duplicados. Este valor deve ser exclusivo no esquema personalizado. |
idcsMaxLength |
O valor não pode ser menor que 2. |
idcsMinLength |
O valor não pode ser menor que 1. |
retornado |
O valor deve ser um valor de retorno válido, como sempre, padrão, solicitação ou nunca. |
tipo |
O valor deve ser uma string que possa ter um único valor ou vários valores. |
mutabilidade |
O valor deve ser uma mutabilidade válida, como readWrite, readOnly, imutável ou somente gravação. |
idcsCsvAttributeNameMappings.columnHeaderName |
O valor deve ser exclusivo no esquema personalizado. |
idcsCsvAttributeNameMappings.multiValueDelimiter |
Atributo obrigatório para atributos de vários valores que têm idcsCsvAttributeNameMappings. |
Atualizando Atributos de Esquema de Usuário Personalizados Usando PUT
Atualize atributos em seu esquema personalizado usando o método PUT.
Atualizando atributos
Neste exemplo, estamos atualizando os atributos para "subDivision" e "branchAddress".
Exemplo de Solicitação PUT
PUT /admin/v1/Schemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:extension:custom:2.0:User",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"idcsResourceTypes": ["User"],
"attributes": [
{
"name": "subDivision",
"idcsDisplayName": "Sub Division Office",
"type": "string",
"idcsMinLength": 5,
"idcsMaxLength": 35,
"description": "SubDivision",
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
},
{
"name": "branchAddress",
"idcsDisplayName": "Branch Address",
"type": "string",
"description": "Branch Office Address",
"idcsMinLength": 5,
"idcsMaxLength": 350,
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
}
]
}
Exemplo de Resposta JSON
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"attributes": [
{
"idcsDisplayName": "Sub Division Office",
"idcsMaxLength": 35,
"required": false,
"idcsValuePersisted": true,
"caseExact": true,
"uniqueness": "none",
"idcsTargetAttributeName": "I_VC_40_IFLEX_1",
"name": "subDivision",
"type": "string",
"idcsMinLength": 5,
"description": "SubDivision",
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
},
{
"required": false,
"idcsValuePersisted": true,
"idcsTargetAttributeName": "I_VC_4K_IFLEX_1",
"idcsMaxLength": 350,
"caseExact": true,
"uniqueness": "none",
"name": "branchAddress",
"idcsDisplayName": "Branch Address",
"type": "string",
"description": "Branch Office Address",
"idcsMinLength": 5,
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
}
],
"meta": {
"lastModified": "2022-08-15T19:45:17.046Z",
"resourceType": "TenantSchema",
"created": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>>/admin/v1/TenantSchemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsLastModifiedBy": {
"type": "App",
"display": "admin",
"$ref": "https://<domainURL>>/admin/v1/Apps"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
}
Atualizando Atributos de String de Vários Valores
Você pode atualizar atributos de string de vários valores em seu esquema personalizado existente usando o método PUT. Neste exemplo, estamos adicionando o atributo de string de vários valores "hobbies".
Exemplo de Solicitação PUT
PUT admin/v1/Schemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"idcsResourceTypes": ["User"],
"attributes": [
{
"name": "workName",
"idcsDisplayName": "workName",
"description": "workName",
"required": false,
"type": "string",
"idcsMinLength": 1,
"idcsMaxLength": 4000,
"idcsAuditable": true,
"caseExact": true,
"returned": "default",
"idcsSearchable": false,
"multiValued": false,
"idcsCsvAttributeName": "CSV1"
},
{
"name": "hobbies",
"idcsDisplayName": "hobbies",
"description": "hobbies",
"required": true,
"type": "string",
"idcsMinLength": 1,
"idcsMaxLength": 20,
"idcsAuditable": true,
"returned": "default",
"idcsValuePersisted": true,
"idcsSearchable": true,
"multiValued": true
},
{
"name": "county",
"idcsDisplayName": "county",
"description": "county",
"type": "string",
"required": false,
"idcsMinLength": 1,
"idcsMaxLength": 40,
"idcsAuditable": true,
"caseExact": true,
"returned": "default",
"idcsCsvAttributeName": "CSV3",
"idcsSearchable": false,
"multiValued": false
},
{
"name": "nationality",
"idcsDisplayName": "nationality",
"description": "nationality",
"required": true,
"type": "string",
"idcsMinLength": 1,
"idcsMaxLength": 20,
"idcsAuditable": true,
"returned": "default",
"idcsValuePersisted": true,
"idcsSearchable": true,
"multiValued": false
}
]
}
Atualizando Atributos de Esquema de Usuário Personalizados Usando PATCH
Substitua os atributos no esquema personalizado usando o método PATCH.
Usando a Operação Replace
Neste exemplo, a operação "substituir" PATCH é usada e o nome do atributo é selecionado do payload de solicitação para aplicação de PATCH. Se o nome especificado já existir, ele o substituirá automaticamente. Se não existir, uma mensagem de erro será exibida.
Exemplo de Solicitação PATCH
Patch /Schemas/urn:item:params:scam:schemas:idcs:extension:custom:User
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "replace",
"path": "attributes",
"value": [
{
"name": "nickName",
"idcsDisplayName": "nickName",
"description": "Nickname",
"required": false,
"type": "string",
"idcsMinLength": 3,
"idcsMaxLength": 25,
"idcsAuditable": false,
"caseExact": true,
"returned": "default",
"multiValued": false
}
]
}
]
}
Exemplo de Resposta JSON
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"attributes": [
{
"idcsTargetAttributeName": "U_VC_40_IFLEX_1",
"idcsAuditable": false,
"idcsValuePersisted": true,
"description": "Nickname",
"idcsSearchable": true,
"idcsMaxLength": 25,
"uniqueness": "none",
"name": "nickName",
"idcsDisplayName": "nickName",
"required": false,
"type": "string",
"idcsMinLength": 3,
"caseExact": true,
"returned": "default",
"multiValued": false
}
],
"meta": {
"lastModified": "2022-08-15T19:55:17.467Z",
"resourceType": "TenantSchema",
"created": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>>/admin/v1/TenantSchemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsLastModifiedBy": {
"type": "App",
"display": "admin",
"$ref": "https://<domainURL>>/admin/v1/Apps"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
}
Usando a Operação Substituir por Filtros
-
Neste exemplo, a operação "replace" do PATCH é usada com filtros para atualizar para "true" todos os atributos que têm a propriedade "required" com o atributo "returned" definido como "always":
PATCH /Schemas/urn:item:params:scam:schemas:ides:extension:custom:User { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [{ "op": "replace", "path": "attributes[name eq \"workName\"].idcsDisplayName", "value": "workplace Name" }] }
-
Neste exemplo, a operação PATCH "replace" é usada com filtros para atualizar para "false" todos os atributos com a propriedade "auditable" definida como "true".
PATCH /Schemas/urn:item:params:scam:schemas:ides:extension:custom:User { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [{ "op": "replace", "path": "attributes[returned eq \"default\"].required", "value": true }] }
Exemplo de Resposta JSON
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"attributes": [
{
"idcsTargetAttributeName": "I_VC_40_IFLEX_1",
"idcsMinLength": 1,
"idcsValuePersisted": true,
"idcsMaxLength": 20,
"type": "string",
"idcsSearchable": true,
"idcsDisplayName": "nationality",
"name": "nationality",
"idcsAuditable": true,
"multiValued": false,
"description": "nationality",
"returned": "default",
"required": false,
"uniqueness": "none",
"caseExact": true
},
{
"idcsTargetAttributeName": "U_VC_4K_IFLEX_1",
"idcsDisplayName": "workplace Name",
"description": "workName",
"idcsCsvAttributeName": "CSV1",
"type": "string",
"idcsMaxLength": 4000,
"idcsAuditable": true,
"required": false,
"returned": "default",
"idcsMinLength": 1,
"name": "workName",
"idcsSearchable": false,
"multiValued": false,
"caseExact": true,
"uniqueness": "none",
"idcsValuePersisted": true
}
],
"meta": {
"lastModified": "2022-08-15T20:15:21.969Z",
"resourceType": "TenantSchema",
"created": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>>/admin/v1/TenantSchemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsLastModifiedBy": {
"type": "App",
"display": "admin",
"$ref": "https://<domainURL>>/admin/v1/Apps"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
}
Usando a Operação de Substituição para Atualizar um Atributo de String de Vários Valores
Você pode substituir atributos de string de vários valores em seu esquema personalizado usando o método PATCH. Neste exemplo, a operação "substituir" PATCH é usada e o nome do atributo é selecionado do payload de solicitação para aplicação de PATCH. Se o nome especificado já existir, ele o substituirá automaticamente. Se não existir, uma mensagem de erro será exibida.
Exemplo de Solicitação PATCH
Patch admin/v1/Schemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [{
"op": "replace",
"path": "attributes",
"value": [
{
"name": "hobbies",
"idcsDisplayName": "hobbies",
"description": "hobbies",
"required": true,
"type": "string",
"idcsMinLength": 1,
"idcsMaxLength": 20,
"idcsAuditable": true,
"returned": "default",
"idcsValuePersisted": true,
"idcsSearchable": true,
"multiValued": true
}
]
}
]
}
Validações Executadas ao Atualizar Atributos
Sempre que você substitui atributos personalizados, os domínios de identidades executam determinadas validações. A tabela a seguir descreve as validações com base na operação Substituir/Atualizar.
Substituir/Atualizar Validações
Esta tabela descreve as validações que os domínios de identidades executam quando você atualiza atributos personalizados existentes para o esquema de destino.
Nome do Atributo | Validações Realizadas |
---|---|
idcsMinLength |
O valor não pode ser menor que 1. Não pode ultrapassar o limite de coluna alocado para o atributo. Por exemplo, se a coluna U_VC_40 tiver sido alocada, idcsMinLength não poderá exceder 40. |
idcsMaxLength |
O valor não pode ser menor que 1. Ele deve ser igual ou maior que o valor idcsMaxLength do atributo e não pode estar acima do limite de coluna alocado para o atributo. Por exemplo, se a coluna U_VC_40 tiver sido alocada, idcsMaxLength não poderá exceder 40. |
idcsMinValue |
O valor não pode ser menor que o que existe atualmente na loja. |
idcsMaxValue |
O valor não pode ser maior que o que existe atualmente na loja. |
canonicalValues |
Os valores devem ser um superconjunto do que existe atualmente na loja. |
idcsCsvAttributeName |
O valor deve ser exclusivo no esquema personalizado. |
nome |
O valor deve ser exclusivo no esquema personalizado. |
idcsDisplayName |
O valor deve ser exclusivo no esquema personalizado. |
Removendo Atributos de Esquema de Usuário Personalizados Usando PUT
Remova atributos em seu esquema personalizado usando o método PUT.
Se os atributos personalizados "subDivision" e "branchAddress" já existirem no esquema personalizado, você poderá remover branchAddress usando a seguinte solicitação PUT.
É recomendável remover atributos do esquema personalizado somente quando estiver criando um esquema personalizado pela primeira vez. A remoção de atributos após a criação de um esquema personalizado pode causar problemas, já que muitos usuários já podem ter sido provisionados usando os atributos personalizados. Para remover atributos de esquema personalizados depois que os usuários tiverem sido provisionados usando os atributos, primeiro exclua todos os dados pertencentes aos atributos de esquema personalizados do banco de dados.
Exemplo de Solicitação PUT
PUT /admin/v1/Schemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:extension:custom:2.0:User",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"idcsResourceTypes": ["User"],
"attributes": [
{
"name": "subDivision",
"idcsDisplayName": "Sub Division Office",
"type": "string",
"idcsMinLength": 5,
"idcsMaxLength": 35,
"description": "SubDivision",
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
}
]
}
Exemplo de Resposta JSON
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"attributes": [
{
"required": false,
"idcsValuePersisted": true,
"caseExact": true,
"uniqueness": "none",
"idcsTargetAttributeName": "I_VC_40_IFLEX_1",
"name": "subDivision",
"idcsDisplayName": "Sub Division Office",
"type": "string",
"idcsMinLength": 5,
"idcsMaxLength": 35,
"description": "SubDivision",
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
}
],
"meta": {
"lastModified": "2022-08-15T20:02:04.354Z",
"resourceType": "TenantSchema",
"created": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>>/admin/v1/TenantSchemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsLastModifiedBy": {
"type": "App",
"display": "admin",
"$ref": "https://<domainURL>>/admin/v1/Apps"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
}
Removendo Atributos de Esquema de Usuário Personalizados Usando PATCH
Esta seção descreve o uso de PATCH "op":"remove"
ao remover atributos de esquema de usuário personalizados.
Usando a Operação Remover com Filtros
-
Neste exemplo, a operação PATCH "remove" é usada com filtros para remover o atributo "subDivision".
PATCH /Schemas/urn:item:params:scam:schemas:ides:extension:custom:User { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [{ "op": "remove", "path": "attributes[name eq \"subDivision\"]" }] }
-
Neste exemplo, a operação PATCH "remove" é usada com filtros para remover todos os atributos com a propriedade "required" definida como "false".
Patch /Schemas/urn:item:params:scam:schemas:ides:extension:custom:User { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [{ "op": "remove", "path": "attributes[required eq false]" }] }
Exemplo de Resposta JSON
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"attributes": [
{
"required": true,
"idcsValuePersisted": true,
"idcsTargetAttributeName": "I_VC_4K_IFLEX_1",
"idcsMaxLength": 350,
"caseExact": true,
"uniqueness": "none",
"name": "branchAddress",
"idcsDisplayName": "Branch Address",
"type": "string",
"description": "Branch Office Address",
"idcsMinLength": 5,
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
}
],
"meta": {
"lastModified": "2022-08-15T20:06:53.745Z",
"resourceType": "TenantSchema",
"created": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>/admin/v1/TenantSchemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsLastModifiedBy": {
"type": "App",
"display": "admin",
"$ref": "https://<domainURL>/admin/v1/Apps"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
}
Validações realizadas ao remover atributos
Sempre que você remove atributos personalizados, os domínios de identidades executam determinadas validações.
Quando atributos personalizados são removidos usando PUT ou PATCH, os domínios de identidades executam validações de exclusão para garantir que nenhum dado tenha sido provisionado anteriormente no banco de dados para esse atributo. Se os dados tiverem sido provisionados, a operação de remoção falhará.
Ativando a Importação de Atributos do Esquema do Usuário Personalizado
Para importar dados para seus novos atributos de esquema usando um arquivo .csv, primeiro defina valores de nome de coluna para os novos atributos.
Neste exemplo, um novo atributo de usuário foi criado chamado employeeStatus.
Para definir o valor do nome da coluna para esse atributo, de modo que você possa importar dados para esse atributo de um arquivo .csv, mapeie internamente o atributo para idcsCsvAttributeNameMappings
.
Exemplo de Solicitação PATCH
O exemplo de solicitação a seguir mostra como definir o valor do nome da coluna para o atributo personalizado da string employeeStatus
.
PATCH /admin/v1/Schemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "add",
"path": "attributes[name eq \"employeeStatus\"].idcsCsvAttributeNameMappings",
"value": [
{
"columnHeaderName": "Employee Status"
}
]
}
]
}
Agora você pode importar dados usando um arquivo .csv que inclui uma coluna (com dados) chamada Status do Funcionário.
O exemplo de solicitação a seguir mostra como definir um nome de coluna para um atributo personalizado de array de string chamado Cores Favoritas cujos valores seriam delimitados por vírgulas em um arquivo .csv.
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "add",
"path": "attributes[name eq \"favoriteColors\"].idcsCsvAttributeNameMappings",
"value": [
{
"columnHeaderName": "Favorite Colors",
"multiValueDelimiter": ","
}
]
}
]
}
Mais Informações
-
Consulte Importando para o caso de uso na importação de dados do usuário usando a API REST dos domínios de identidades.