> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Asignación de aplicaciones

> Define la declaración de identidad que recibe una aplicación (la aserción SAML o el token OIDC) asignando a ella atributos del perfil con IQL.

Cuando alguien inicia sesión en una aplicación a través de Iru, la aplicación recibe una
**declaración de identidad** firmada (una **aserción SAML** o un **token de ID de OIDC**) que indica
quién es. La **asignación de aplicaciones** es la forma de decidir qué incluye esa
declaración: para cada campo que espera la aplicación, asignas un valor obtenido del
[perfil](/es/identity/directory/schema) del usuario.

<Info>
  Cada valor asignado se escribe en
  **[IQL](/es/identity/getting-started/iql-expressions)** (Iru Query Language),
  el mismo lenguaje de expresiones que se usa para la
  [asignación de atributos de Directory Sync](/es/identity/directory/attribute-mapping) y las reglas de
  [Auto Group](/es/identity/directory/auto-groups). Un valor puede ser un solo
  campo del perfil (`user.email`) o una expresión que lo transforma
  (`user.email.lowerAscii()`).
</Info>

<Frame caption="El editor de asignaciones: una expresión IQL establece el Subject y cada atributo, con el explorador de IQL para los campos y funciones disponibles.">
  <img src="https://mintcdn.com/iru/Pd7a0-sHKi0jGjE6/assets/media/images/application-mapping.webp?fit=max&auto=format&n=Pd7a0-sHKi0jGjE6&q=85&s=deb4226eee66af9bb5dbd89dcbbd1342" alt="El editor Mapping de una aplicación SAML: el Subject asignado a partir de la expresión IQL user.id con el formato de nombre Unspecified, y un atributo Email asignado a partir de user.primaryEmail.email con el formato de nombre Basic." width="1130" height="1136" data-path="assets/media/images/application-mapping.webp" />
</Frame>

## Qué contiene una asignación

Cada aplicación asigna dos elementos a la declaración que envía:

* **El sujeto:** el identificador principal del usuario que ha iniciado sesión.
* **Atributos o claims:** cualquier campo adicional que espere la aplicación.

```mermaid theme={null}
flowchart LR
  profile["Perfil del usuario<br/>atributos"] --> expr["Expresión IQL"]
  expr --> subject["Sujeto"]
  expr --> attrs["Atributos / claims"]
  subject --> stmt["Aserción / token firmado"]
  attrs --> stmt
  stmt --> app["Tu aplicación"]
```

### El sujeto

El sujeto identifica al usuario que ha iniciado sesión. Su valor predeterminado depende del protocolo:

| Protocolo | Sujeto | Valor predeterminado |
| - | - | - |
| **SAML** | El **NameID** | `user.username` |
| **OIDC** | El claim **`sub`** | `user.id` |

Puedes cambiar el valor del que se obtiene y, para SAML, elegir un **formato de NameID**.
Consulta [Aplicaciones SAML](/es/identity/applications/saml-applications) y
[Aplicaciones OIDC](/es/identity/applications/oidc-applications) para ver las
opciones específicas de cada protocolo.

### Atributos y claims

Además del sujeto, agrega cada campo que necesite la aplicación. Para cada uno estableces su
**nombre** (lo que espera la aplicación), su **valor** (la expresión IQL que lo
genera), un detalle del protocolo (un **formato de nombre de atributo** para SAML o un **ámbito** para
OIDC) y si está **habilitado**.

## Cómo crear una asignación

<Steps>
  <Step title="Abrir la asignación de la aplicación">
    La asignación se encuentra en el **borrador** de la aplicación, junto con su configuración de protocolo.
  </Step>

  <Step title="Escribir una expresión IQL por campo">
    Para el sujeto y cada atributo o claim, escribe una expresión
    [IQL](/es/identity/getting-started/iql-expressions). El editor
    sugiere los campos `user` y las funciones disponibles mientras escribes y comprueba la
    expresión, para que los errores aparezcan antes de publicar.
  </Step>

  <Step title="Obtener una vista previa del resultado">
    Una **vista previa** en vivo muestra la aserción o el token exactos que enviará Iru, para que
    puedas confirmar su forma antes de ponerla en producción.
  </Step>

  <Step title="Publicar">
    Establece el borrador como **current** para activar la asignación. Consulta
    [Descripción general de las aplicaciones](/es/identity/applications/applications-overview) para conocer el
    modelo de versiones.
  </Step>
</Steps>

<Tip>
  Asigna solo lo que necesita la aplicación. Cada aplicación recibe exactamente los atributos que le
  asignas, por lo que un servicio determinado solo ve los datos del perfil necesarios para identificar
  al usuario.
</Tip>

## Asignación para el aprovisionamiento

La asignación determina algo más que el inicio de sesión. Para las aplicaciones con
[aprovisionamiento](/es/identity/applications/provisioning), la asignación también tiene una
**vista de aprovisionamiento** que controla qué atributos del perfil envía Iru cuando
crea o actualiza la cuenta en la aplicación.

## Próximos pasos

<CardGroup cols={2}>
  <Card title="Lenguaje de consulta de Iru" icon="brackets-curly" href="/es/identity/getting-started/iql-expressions">
    La referencia completa de IQL: campos, operadores, funciones y ejemplos.
  </Card>

  <Card title="Aplicaciones SAML" icon="file-signature" href="/es/identity/applications/saml-applications">
    Formatos de NameID y asignación de atributos para aplicaciones SAML.
  </Card>

  <Card title="Aplicaciones OIDC" icon="id-card" href="/es/identity/applications/oidc-applications">
    Asignación del sujeto y de los claims para aplicaciones OIDC.
  </Card>

  <Card title="Aprovisionamiento" icon="arrows-rotate" href="/es/identity/applications/provisioning">
    Asigna los atributos que envía Iru cuando crea y actualiza cuentas en una aplicación.
  </Card>
</CardGroup>
