Configurando túneles de Cloudflare e Immich para utilizar OAuth

󰃭 2025-04-28

Immich permite habilitar el inicio de sesión mediante OAuth para todos los usuarios, lo cual proporciona una capa adicional de seguridad. En este artículo te mostraré cómo lograrlo utilizando Cloudflare Zero Trust.

📌 Requisito previo: Debes tener configurado un proveedor de autenticación (OAuth) dentro de Cloudflare Zero Trust. Si aún no lo has hecho, puedes seguir esta guía paso a paso para proteger el acceso a servicios expuestos en tu servidor.

Configura un túnel en Cloudflare

Dirígete a Cloudflare Zero Trust → Redes y crea un nombre de host público en Networks → Tunnels. Asegúrate de que este túnel no tenga habilitado el control de acceso.

Crea una aplicación en Cloudflare Access

Entra en Cloudflare Access y crea una aplicación SaaS yo la he llamado immich.

Selecciona OpenID Connect (OIDC) como método de autenticación.

En la configuración, selecciona los siguientes scopes:

    openid, email, profile

Define las URL de redirección. Estas deben incluir tanto direcciones locales como el dominio público que configuraste:

    https://immich.tudominio.com/api/oauth/mobile-redirect
    http://IP_local:2283/auth/login
    http://IP_local:2283/user-settings
    https://immich.tudominio.com/auth/login
    https://immich.tudominio.com/user-settings

🔧 Importante: Reemplaza IP_local con la IP local de tu servidor Immich y immich.tudominio.com con tu dominio real.

Desactiva la opción Clave de prueba para intercambio de código (PKCE).

Guarda las claves generadas (URL del emisor, ID del Cliente y Secreto del cliente), ya que las necesitarás más adelante.

Marca la opción Mostrar la aplicación en el Iniciador de aplicaciones. Puedes usar el logo de Immich para personalizar el icono:
https://raw.githubusercontent.com/immich-app/immich/main/design/immich-logo.png

Edita la aplicación y, en la pestaña Configuración de experiencias, define la URL del Iniciador de aplicaciones con el dominio configurado:

    https://immich.tudominio.com/

Define una política de acceso

Crea una política como esta:

  • Nombre: acceso mediante email

  • Medida: Permitir

  • Regla adicional: selecciona tu proveedor de autenticación bajo Métodos de inicio de sesión

Configura OAuth en Immich

Ingresa con un usuario administrador.

Dirígete a Administración → Configuraciones → OAuth Authentication.

Introduce los datos copiados previamente:

  • URL del emisor (Issuer URL)
  • ID del cliente (Client ID)
  • Secreto del cliente (Client Secret)

Haz clic en Guardar.

Prueba el acceso

Cierra sesión para verificar el nuevo flujo de autenticación.

Fuerza el uso de OAuth (opcional)

Si todo funciona correctamente, puedes deshabilitar el acceso con contraseña:

Ve a Ajustes → Parámetros de autenticación.

Desactiva la opción Contraseña de acceso para obligar a todos los usuarios a iniciar sesión con OAuth.

¡Y listo! Ahora tu instancia de Immich está protegida con autenticación OAuth a través de Cloudflare.

Espero que te haya gustado, pasa un gran día 🐧


Referencias