Mapeo de Atributos SCIM

Cuando se recibe información de usuario a través de SCIM, los datos suelen estar organizados en múltiples esquemas. Para mantener esta información consistente, accesible y utilizable, Applivery permite mapear atributos específicos de SCIM dentro del campo metadata del usuario.

Comprendiendo el almacenamiento de atributos en SCIM #

Todos los campos de SCIM que pueden mapearse se almacenan automáticamente en un objeto interno llamado attributesHistory. Este objeto registra cada atributo recibido mediante SCIM, independientemente de que esté o no asignado al metadata del usuario.

Historial de atributos en SCIM #

El objeto attributesHistory contiene todos los atributos recibidos a través de SCIM con la siguiente estructura:
				
					type IProviderSCIMAttributesHistory = {
  namespace: string
  key: string
}
				
			

Este objeto se completa automáticamente con todos los atributos incluidos en las solicitudes SCIM. Su propósito es actuar como un registro completo de cualquier campo que pueda mapearse en el futuro.

Mapeo personalizado de atributos #

Para mapear atributos de SCIM dentro del metadata del usuario, puedes definir un mapeo personalizado mediante la propiedad mappedAttributes en el modelo de configuración SCIM.

				
					type IProviderSCIMCustomAttributes = {
  name: string
  attributes?: {
    namespace?: string
    key: string
  }[]
}
				
			

Cada entrada de mapeo admite los siguientes campos:

  • Name: La clave bajo la cual se almacenará el valor dentro del metadata del usuario.
  • Attributes: Una lista de atributos SCIM (opcionalmente incluyendo su namespace/esquema) que se utilizarán para generar dicho valor en metadata.

Reglas de resolución #

Al determinar qué valor SCIM debe mapearse a metadata, Applivery utiliza las siguientes reglas:

  1. Si se especifica un namespace, el sistema buscará el atributo SCIM dentro de ese namespace/esquema exacto.
  2. Si no se define un namespace, se utilizará la primera clave que coincida en cualquiera de los esquemas.

  3. Cuando un payload SCIM incluye un valor para un atributo personalizado mapeado, Applivery lo escribe automáticamente en el metadata el usuario:
    • Key: El nombre definido en la entrada mappedAttributes.
    • Value: El valor del atributo SCIM resuelto según las reglas anteriores.

Ejemplo de mapeo basado en namespace #

Payload en SCIM #

				
					{
  "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:company:params:scim:schemas:extension:custom:2.0:User"
  ],
  "urn:ietf:params:scim:schemas:core:2.0:User": {
    "userName": "jane.smith"
  },
  "urn:company:params:scim:schemas:extension:custom:2.0:User": {
    "employeeId": "EMP-4567",
    "department": "Engineering"
  }
}
				
			

Configuración de mapeo personalizado #

				
					const mappedAttributes = [
  {
    name: "department",
    attributes: [
      {
        namespace: "urn:company:params:scim:schemas:extension:custom:2.0:User",
        key: "department"
      }
    ]
  },
  {
    name: "employeeCode",
    attributes: [
      {
        namespace: "urn:company:params:scim:schemas:extension:custom:2.0:User",
        key: "employeeId"
      }
    ]
  }
]
				
			

Resultado en el metadata del usuario #

				
					{
  "metadata": {
    "department": "Engineering",
    "employeeCode": "EMP-4567"
  }
}
				
			

Configurar el mapeo de atributos en Applivery #

Dirígete a tu Workspace > Ajustes (1) y abre la sección Proveedores de acceso (2). Luego haz click en Configurar (3) junto a la opción SAML en la sección MDM Portal.

login-providers-settings

Desplázate hasta el Paso 3 e introduce el namespace correspondiente. Puedes identificar fácilmente el namespace adecuado según el tipo de atributo (Core, Enterprise o Custom) y su valor.

attribute-mapping

Para guardar los cambios, simplemente haz clic en Save. Una vez que tu IdP ejecute la siguiente sincronización programada, los atributos mapeados en ambos sistemas comenzarán a rellenarse en el metadata de cada usuario en Applivery.

Para resumir:


  • Los atributos SCIM pueden mapearse al metadata del usuario usando mappedAttributes.
  • namespace ayuda a evitar ambigüedades cuando intervienen múltiples esquemas.

  • Los atributos SCIM no mapeados se almacenan en attributesHistory para referencia futura.
  • Este sistema de mapeo te brinda control total sobre cómo se almacena la información del usuario y cómo se utiliza en los procesos posteriores.
Updated on noviembre 26, 2025
¿Te ha sido útil este artículo?

En esta página