# OIDC

> Proteger una aplicación con OpenID Connect: dar de alta la aplicación en Ironchip, guardar el Client ID y el Client Secret y dar acceso a grupos de usuarios.

URL: https://docs.ironchip.com/identidad/protocolos/oidc/

OpenID Connect (OIDC) es el protocolo de identidad sobre OAuth 2.0 que usan las aplicaciones web y móviles modernas. Ironchip actúa como proveedor de identidad: la aplicación redirige al usuario a Ironchip, que lo autentica con su método y su zona segura, y devuelve un token con su identidad.

## Requisitos

- Una cuenta de administrador en la consola de Ironchip.
- Un servicio que admita OIDC y del que conozcas la **Redirect URI** (la dirección a la que Ironchip devolverá al usuario tras autenticarse).
- Los usuarios dados de alta en Ironchip, o la [sincronización de identidades](https://docs.ironchip.com/identidad/administracion/sincronizacion/) configurada.
- La compañía creada en Ironchip. Consulta [Protocolos de integración](https://docs.ironchip.com/identidad/protocolos/) para los datos previos.

## Añadir la aplicación a la compañía

En la sección **Applications** ves todos los servicios protegidos que se han añadido a Ironchip y su tipo de integración.

1. Haz clic en **New Application**. Se abre la ventana **Add new application**.

   [Imagen: Sección Applications con el botón New Application resaltado]

2. En el paso **Application Details**, escribe el nombre de la aplicación en **Name**.
3. En **Application integration type**, selecciona **OIDC - OAUTH 2.0**.
4. En **Redirect URIs**, introduce la Redirect URI. Para obtenerla, busca su ruta en el servicio que quieres integrar.

   [Imagen: Formulario de alta de la aplicación con el tipo de integración OIDC - OAUTH 2.0 y el campo Redirect URIs]

5. Haz clic en **Next** y completa el paso **Upload Logo** para terminar. El servicio aparece en la sección **Applications**.

:::caution[Guarda el Client ID y el Client Secret]
Guarda los campos que se devuelven al crear el servicio, en este caso **Client ID** y **Client Secret**. Solo se muestran esta vez y tendrás que introducirlos en la configuración del servicio que integras.
:::

## Dar acceso a usuarios y grupos

En la página de información de cada aplicación (ve a **Applications** y selecciónala) ves el recuento de autenticaciones correctas (**Correct auths**) e incorrectas (**Wrong auths**) y la lista de los accesos ya configurados.

Para dar un acceso nuevo:

1. En **Applications**, haz clic en **Add**, en la columna **Add access** de la aplicación. Se abre la ventana **Add a new access**, con cuatro pasos.

   [Imagen: Columna Add access de la sección Applications con el botón Add de cada aplicación]

2. En **Select a group**, busca por nombre con **Search by name** y marca la casilla **Add** de cada grupo o usuario al que quieres dar acceso. Después, haz clic en **Next**.

   [Imagen: Paso Select a group de la ventana Add a new access, con la lista de usuarios y grupos]

   :::note
   Cada usuario individual se trata como un usuario dentro de su propio grupo personal, que lleva su nombre.
   :::

3. En **Select usernames**, elige el formato del nombre de usuario externo (**External Username**) con el que se accede a la aplicación. Por defecto está seleccionada la etiqueta `email`, pero puedes construir otro formato con etiquetas (`name`, `surname`, `domain`, etc.): escríbelas en el cuadro **Enter a tag**. Debajo, **Username example** muestra el nombre que se generaría para un usuario de ejemplo. Este nombre solo se usa en este acceso: no sustituye al nombre del usuario en la plataforma. Después, haz clic en **Next**.
4. En **Select authentication policies**, selecciona las [políticas de autenticación](https://docs.ironchip.com/identidad/conceptos/politicas/) que se exigen al grupo o usuario. Puedes combinar varias en una misma línea con **AND** (deben cumplirse todas) u **OR** (basta con una). Usa el botón **+** para añadir políticas y el botón **x** para quitarlas. Después, haz clic en **Next**.

   [Imagen: Paso Select authentication policies con las políticas Any user devices y Any user safezones combinadas con AND]

5. En **Review**, revisa el resumen: el nombre de la aplicación, el grupo o usuario elegido, la plantilla del nombre de usuario externo y el flujo de autorización (**Authorization flow**). Después, haz clic en **Add** para crear el acceso.

El acceso aparece en la lista de accesos de la aplicación. Puedes gestionarlo en cualquier momento con el botón **Options**: consulta [Gestionar un acceso](https://docs.ironchip.com/identidad/administracion/aplicaciones/#gestionar-un-acceso).
