Integración externa de Spotify: ¿URL HTTPS de redirección?

Hola,

Estoy intentando crear un plugin de Spotify con mi cuenta. He creado correctamente la APIWeb, he anotado el ID y el secreto, pero no entiendo qué debo poner en la dirección de retorno. He hecho varios intentos sin éxito. Obtengo el mensaje « redirect_uri: No coincide con la configuración » y no estoy conectado.

¿Podrían indicarme con más claridad qué debo poner en este campo?

Gracias.

La API de Spotify exige la dirección para la verificación. Debe ser HTTPS o localhost 127.1.0.0

HTTPS: no mucha gente tiene una instalación en HTTPS.
Si no, necesitarías una dirección que pase por Gladys Plus, pero es complicado para un servicio externo.

Y el localhost significa que debes lanzar Gladys desde un navegador directamente desde la máquina donde está instalado Gladys. Algo imposible, porque para mucha gente, Gladys funciona en un servidor Linux Ubuntu. Por lo tanto, te conectas desde una dirección 192.168.x.x. Y esta dirección no es válida para Spotify.

Por lo tanto, he encontrado una manera de solucionar el problema, pero esto significa que debes ser muy estricto con la dirección que declaras en Spotify.

No estoy en casa, pero en cuanto llegue, te doy el procedimiento y la dirección a indicar.
Veré para mejorar la documentación.

¡Hola!

Gracias por el informe, el tema es importante y va mucho más allá de Spotify.

¿Por qué se bloquea?

Spotify endureció sus reglas de seguridad a principios de 2025 (aplicado a las nuevas aplicaciones desde el 9 de abril de 2025, a todas desde noviembre de 2025). Una URL de redirección OAuth solo se acepta ahora si:

  • está en HTTPS, o
  • es una dirección de bucle explícito: http://127.0.0.1:PUERTO o http://[::1]:PUERTO.

localhost ya no se acepta, y una IP local en HTTP (http://192.168.1.50) tampoco. Sin embargo, así es exactamente como la mayoría de ustedes accede a Gladys en casa: una IP local, en HTTP, sin certificado. De ahí el famoso redirect_uri: Not matching configuration.

Es un problema común a todos los proyectos autoalojados, Home Assistant se enfrentó al mismo.

La solución provisional

La mencionada por @Will_71 funciona: declarar en Spotify la URL de callback de Gladys reemplazando la IP local por 127.0.0.1 (manteniendo el puerto y la ruta exactamente iguales), y luego iniciar la autorización desde un navegador que se ejecute en la máquina donde está instalado Gladys, o a través de un túnel SSH (ssh -L) desde tu PC.

Funciona porque Spotify solo verifica que la URL coincida carácter por carácter, nunca necesita contactarla.

Pero seamos honestos: es perfecto para los manitas, e inutilizable para alguien que controla su Gladys desde su teléfono. No es una respuesta aceptable a largo plazo.

La verdadera solución: una URL de redirección oficial de Gladys

Voy a implementar una URL de redirección oficial en HTTPS, alojada por Gladys, sobre el mismo principio que lo que hace Home Assistant con my.home-assistant.io.

El principio:

  1. Es esta URL oficial (en HTTPS, por lo tanto aceptada por Spotify) la que declaras en tu aplicación de Spotify, ya no necesitas un certificado ni un nombre de dominio en tu casa.
  2. Después de tu autorización, Spotify redirige a esta página, que redirige simplemente tu navegador a tu Gladys local, con una pantalla de confirmación que te indica claramente a qué dirección vas a ser redirigido.
  3. Tu instancia completa el intercambio ella misma y almacena los tokens localmente.

Punto importante sobre la privacidad: esta página es totalmente estática, sin servidor detrás. Tus credenciales de Spotify, tus tokens de acceso y tus datos nunca pasan por nuestros servidores, la página solo hace una redirección en tu navegador, exactamente como lo hace Home Assistant.

Otras ventajas:

  • funcionará para todas las integraciones externas que utilicen una conexión OAuth2, no solo Spotify;
  • no se necesita Gladys Plus ni suscripción: está disponible para todos;
  • para quienes ya tienen una URL en HTTPS (nombre de dominio, proxy inverso), podrán seguir usando la suya.

Me encargo de la implementación y vuelvo aquí tan pronto como esté disponible, con la documentación actualizada. Mientras tanto, el contorno 127.0.0.1 mencionado anteriormente permite salir del paso.

Gracias por reportar el problema :slight_smile:

Perfecto.
Gracias @pierre-gilles :folded_hands:

Veo que es un patrón bastante común, de hecho, Synology lo hace, Freebox lo hace :slight_smile:

Claude me hizo una propuesta :

El sitio está en proceso de implementación en CloudFlare…

Hop, disponible en https://my.gladysassistant.com/

Ahora, solo queda un pequeño ajuste en el código de Gladys :slight_smile:

¡Genial!
¿Podría revisarse el servicio Netatmo para usar esta ruta? O, tal vez, tener la opción de especificar la ruta como en Spotify?
O quizás no lo he entendido bien :smiley:

No, es un mecanismo completamente diferente. :slightly_smiling_face:

Aquí, simplemente propongo una URL de redirección: todo ocurre en el navegador. Solo sirve para el flujo OAuth para redirigir al usuario a su instancia después de la autenticación. Es gratuito para mí, por lo que incluso si algún día tenemos la misma escala que Home Assistant, puedo seguir ofreciéndolo sin problemas.

Para Netatmo, es otra arquitectura. Los webhooks pasan por los servidores de Gladys Plus, que mantienen permanentemente una conexión WebSocket con la instancia local de cada usuario para transmitirle los eventos en tiempo real.

Esta infraestructura tiene un costo (servidores, conexiones persistentes, ancho de banda, etc.), por lo que no es algo que pueda ofrecer de forma gratuita. :slightly_smiling_face:

ah sí, ya veo, no lo había entendido bien XD
Gracias por tu respuesta.
Voy a revisar tu oferta para ver si ahora es más interesante con la llegada de ciertos plugins :slight_smile:

¡Gracias! :blush:

Creo que Gladys Plus sigue siendo muy asequible en comparación con los servicios ofrecidos. Y más allá de las funcionalidades, también permite financiar un proyecto de código abierto francés. :wink:

Cuanto más crezca Gladys Plus, más tiempo podré dedicar a Gladys y ofrecerles nuevas funcionalidades, mejoras y una mejor compatibilidad con sus equipos.

Al final, todos salen ganando. :grinning_face_with_smiling_eyes:

La PR:

Esto también será útil para Daikin :slight_smile:

¡PR fusionada! Las redirecciones a través de my.gladysassistant.com estarán disponibles en el próximo lanzamiento de Gladys :slight_smile:

¡Está disponible para todas las integraciones externas que utilizan OAuth sin ningún cambio en el lado de la integración externa!

Hola a todos,

Un pequeño retorno de la integración de Spotify. He introducido la dirección proporcionada por @pierre-gilles, y pensé que funcionaba. Llegué a la página de inicio de sesión de Spotify, ingresé todos los datos solicitados (correo electrónico de inicio de sesión y código de seguridad recibido por correo electrónico) y PAF, volví a la misma página con el mensaje de error.

Quizás fui demasiado impaciente y la nueva actualización aún no está instalada.
¿Es posible?

Gracias

Sí, aún hay que esperar un poco.
Voy a hacer una prueba por mi parte y en cuanto esté todo bien te avisaré.

@pierre-gilles, te confirmo que el enlace https funciona muy bien.

@l.dolle, cuando se publique la actualización:

La página https se abrirá entonces y podrás validar. La cuenta está conectada

Puedes verificar si quieres que uno de tus dispositivos de Spotfy esté abierto con la acción Probar la conexión

¡Excelente, gracias por probarlo! ¡Voy a hacer un lanzamiento esta noche!

Ya está en vivo en la 4.84.4:

Hola a todos,

¡Ya funciona!

Acabo de probarlo rápidamente y aquí van mis comentarios.

El complemento es rápido si se detiene o cambia de pista, el dispositivo reacciona rápidamente, pero cuando se detiene la música (por ejemplo) con el teléfono (siempre por ejemplo), el complemento reacciona con una latencia cierta de tres segundos. Puede que sea normal, pero quería informar de esto por si es importante o mejorable.

Gracias a @Will_71

Buenas noches.