# WordPress

> Proteger el acceso de administración de WordPress con Ironchip por SAML usando los plugins WP SAML Auth o miniOrange: metadatos, certificado y pruebas.

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

Ironchip se integra con WordPress mediante SAML para proteger el panel de administración. Hay dos plugins posibles: **WP SAML Auth** y **miniOrange**. Elige uno y sigue su sección.

## Requisitos

- Acceso a la consola de administración de Ironchip.
- Acceso a WordPress con permisos de administrador.

## Con el plugin WP SAML Auth

Con este plugin, WordPress actúa como proveedor de servicios (SP) e Ironchip como proveedor de identidad (IdP).

### Configuración en WordPress (SP)

Con el plugin ya instalado, genera primero los metadatos que le darás a la aplicación que crearás en Ironchip.

1. En el menú de la izquierda de WordPress, ve a **Ajustes** > **WP SAML Auth**.
2. Ve al apartado **Service Provider Settings** y copia los valores **Entity ID** y **Assertion Consumer Service**.
3. Genera los metadatos con una herramienta online, por ejemplo [samltool.com](https://www.samltool.com/).
4. Sube los metadatos generados a un servidor público y copia el enlace. En esta guía se usa pastebin.com.

### Configuración en Ironchip

1. En la consola de Ironchip, crea una aplicación de tipo **SAML**.
2. En **Metadata URL**, pega el enlace a los metadatos de WordPress.
3. Antes de hacer clic en **Next**, descarga los metadatos de Ironchip con **Download metadata file**.

### Configuración del proveedor de identidad en WordPress (IdP)

1. Vuelve a WordPress, al mismo apartado **Ajustes** > **WP SAML Auth**, y configura **Identity Provider Settings** con el archivo de metadatos que acabas de descargar.
2. Para el certificado, copia el certificado de los metadatos de Ironchip y dale formato con una herramienta como [Format X.509 Certificate de samltool.com](https://www.samltool.com/format_x509cert.php). El resultado empieza por `-----BEGIN CERTIFICATE-----` y termina con `-----END CERTIFICATE-----`.
3. Copia el contenido formateado y crea un fichero de certificado con extensión `.crt`. Guárdalo en una carpeta de WordPress.
4. Copia la ruta de ese certificado en **x509 Certificate Path**.
5. Configura el atributo `user_login` con este valor para que la comunicación sea correcta: `urn:oid:0.9.2342.19200300.100.1.1`.

## Con el plugin miniOrange

### Configuración en WordPress

1. Instala el plugin de miniOrange. Cuando termine, el plugin aparece en la columna de la derecha para configurarlo.
2. En la primera pestaña, el plugin te pide configurar el IdP. Puedes hacerlo de forma manual o automática. Para obtener los metadatos, crea una aplicación de tipo **SAML** en Ironchip.

   [Imagen: Botón New application en la consola de Ironchip]

   [Imagen: Formulario de nueva aplicación de tipo SAML con el campo Metadata URL y el botón Download metadata file]

3. Descarga los metadatos de Ironchip con **Download metadata file** e impórtalos en WordPress.

### Configuración en Ironchip

1. Añade a la aplicación de Ironchip los metadatos del plugin. Para ello, abre el archivo de metadatos del plugin y copia su contenido.
2. Sube ese contenido a un servicio web que permita compartir texto públicamente. En esta guía se usa pastebin.com.
3. Copia la URL obtenida y añádela como **Metadata URL** en la aplicación SAML de Ironchip.

## Comprobación

Antes de probar, da acceso a la aplicación de Ironchip al usuario con el que vas a iniciar sesión. Los pasos están en [Agregar usuarios al servicio creado](https://docs.ironchip.com/identidad/protocolos/saml/#dar-acceso-a-usuarios-y-grupos).

- **WP SAML Auth**: cierra la sesión de WordPress e inicia una nueva con SAML. WordPress te redirige a Ironchip para autenticarte y después te devuelve al panel de administración.
- **miniOrange**: vuelve a **Service Provider Setup** en WordPress y haz clic en **Test Configuration** para probar el inicio de sesión con Ironchip.

## Problemas frecuentes

| Problema                             | Causa probable                                                 | Solución                                                                                                                                                      |
| ------------------------------------ | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| WordPress rechaza el certificado     | El certificado no tiene formato ni cabecera                    | Dale formato con [samltool.com](https://www.samltool.com/format_x509cert.php), comprueba que empieza por `-----BEGIN CERTIFICATE-----` y guárdalo como `.crt` |
| WordPress no reconoce al usuario     | El atributo `user_login` no coincide con el que envía Ironchip | Usa `urn:oid:0.9.2342.19200300.100.1.1`, el nombre de usuario que envía Ironchip (consulta los [atributos SAML](https://docs.ironchip.com/identidad/protocolos/saml/))                 |
| Ironchip no puede leer los metadatos | La URL de los metadatos no es pública                          | Comprueba que la URL se abre sin iniciar sesión y devuelve solo el XML                                                                                        |
