# Nextcloud

> Integrar Nextcloud con Ironchip por OIDC: instalar la app OpenID Connect user backend, crear la aplicación en Ironchip, dar accesos y vincular el proveedor.

URL: https://docs.ironchip.com/identidad/integraciones/saas/nextcloud/

Ironchip actúa como proveedor OIDC de Nextcloud. Los usuarios inician sesión en Nextcloud desde un botón que los redirige a Ironchip para autenticarse.

## Requisitos

- Acceso de administrador a la consola de Ironchip.
- Privilegios de administrador en la instancia de Nextcloud.
- Acceso al sistema de archivos del servidor de Nextcloud.

## Preparar Nextcloud

### Instalar la app OpenID Connect

1. Accede a tu instancia de Nextcloud.
2. Haz clic en el icono de tu perfil (esquina superior derecha) y selecciona **Aplicaciones**.

   [Imagen: Menú de perfil de Nextcloud con la opción Aplicaciones]

3. En el menú lateral izquierdo, selecciona la categoría **Integración**.

   [Imagen: Categoría Integración en la lista de aplicaciones de Nextcloud]

4. Usa el buscador (icono de lupa) para localizar la aplicación **OpenID Connect user backend**.
5. Haz clic en **Descargar y activar**.

   [Imagen: Aplicación OpenID Connect user backend con el botón Descargar y activar]

### Ajustar el archivo de configuración

Antes de seguir con la interfaz web, ajusta la configuración de seguridad y red de Nextcloud:

1. Localiza y edita el archivo `config/config.php` en tu servidor.
2. Añade o modifica estas líneas dentro del array de configuración:

   ```php title="config/config.php"
   'allow_local_remote_servers' => true,
   'debug' => true,
   ```

## Configuración en Ironchip

### Crear la aplicación OIDC

1. Inicia sesión en la consola de Ironchip y ve a **Applications** > **New Application**.

   [Imagen: Botón New Application en la sección Applications de la consola de Ironchip]

2. Selecciona el protocolo **OIDC**.

   [Imagen: Selección del protocolo OIDC]

3. En la pestaña **General**, escribe un nombre identificativo en **Name** (por ejemplo, `Acceso Nextcloud`) y haz clic en **Add**.

   [Imagen: Pestaña General de la configuración del servicio OIDC con el campo Name]

4. En **Redirect URIs**, introduce la URL de retorno de tu servidor:

   ```text
   http://<IP_O_DOMINIO_DE_TU_SERVIDOR>/apps/user_oidc/code
   ```

   Por ejemplo: `http://mi-dominio/apps/user_oidc/code`.

5. Haz clic en **Save**. Guarda en un lugar seguro el **Client ID** y el **Client Secret** que se generan; también puedes descargarlos con **Download credentials**.

   [Imagen: Resumen Service created successfully con el Client ID, el Client Secret y la Metadata URL]

### Autorizar a los usuarios

Autoriza qué usuarios podrán usar este método de acceso.

1. Abre la aplicación que acabas de crear.

   [Imagen: Aplicación recién creada en la lista de aplicaciones]

2. Haz clic en **Add Access**.

   [Imagen: Botón Add Access de la aplicación]

3. En **Select a group**, busca y selecciona el usuario que se va a autenticar. Haz clic en **Next**.

   [Imagen: Selección del usuario del acceso]

4. En **Select usernames**, indica cómo se compone el nombre de usuario del acceso. En este ejemplo, con la etiqueta `email`, es decir, el correo del usuario. Haz clic en **Next**.

   [Imagen: Paso Select usernames con la etiqueta email como nombre de usuario]

5. En **Select authentication policies**, elige la política con la que se autenticará el usuario. En este ejemplo, **Any user devices** (cualquier dispositivo del usuario). Haz clic en **Next**.

   [Imagen: Paso Select authentication policies con la política Any user devices]

6. En **Review**, comprueba la configuración y haz clic en **Add**. El acceso del usuario queda creado.

   [Imagen: Resumen Review del acceso con el usuario, la plantilla %email% y la política Any user devices]

## Configuración en Nextcloud

1. Vuelve a Nextcloud, abre tu perfil y selecciona **Configuración de administración**.

   [Imagen: Menú de perfil con Configuración de administración]

2. En el menú izquierdo, abre la sección **OpenID Connect**.

   [Imagen: Sección OpenID Connect en la configuración de administración]

3. En **Proveedores Registrados**, haz clic en **+** para crear un registro nuevo. El diálogo **Registrar a un nuevo proveedor** muestra la URL de retorno de tu servidor, que debe coincidir con la que pusiste en **Redirect URIs** en Ironchip.

   [Imagen: Apartado Proveedores Registrados con el botón + para crear un registro nuevo]

4. Completa los campos:
   - **Identificador**: un nombre para mostrar (por ejemplo, `Ironchip Login`).
   - **ID de cliente**: pega el Client ID que proporcionó Ironchip.
   - **Secreto de cliente**: pega el Client Secret que proporcionó Ironchip.
   - **Endpoint para descubrimiento**: `https://idp.ironchip.com/oidc/.well-known/openid-configuration`.

   [Imagen: Formulario del proveedor con el identificador, el ID y el secreto del cliente y el endpoint de descubrimiento]

5. Haz clic en **Enviar**. Ironchip queda integrado en Nextcloud.

## Comprobación

1. Cierra la sesión actual en Nextcloud.
2. En la pantalla de inicio de sesión aparece un botón nuevo: **Login with** seguido del identificador que elegiste (por ejemplo, **Login with Ironchip Login**).

   [Imagen: Pantalla de inicio de sesión de Nextcloud con el botón de Ironchip]

3. Haz clic en el botón. Nextcloud te redirige a la pasarela de Ironchip para autenticarte.

   [Imagen: Pasarela de autenticación de Ironchip]

4. Completa el proceso en tu dispositivo. Nextcloud te redirige automáticamente a su panel principal.

   [Imagen: Panel principal de Nextcloud tras iniciar sesión]
