Hello!
Merci pour la remontée, le sujet est important et il dépasse largement Spotify.
Pourquoi ça bloque
Spotify a durci ses règles de sécurité début 2025 (appliqué aux nouvelles applications depuis le 9 avril 2025, à toutes depuis novembre 2025). Une URL de redirection OAuth n’est désormais acceptée que si :
- elle est en HTTPS, ou
- c’est une adresse de loopback explicite :
http://127.0.0.1:PORT ou http://[::1]:PORT.
localhost n’est plus accepté, et une IP locale en HTTP (http://192.168.1.50) non plus. Or c’est exactement comme ça que la grande majorité d’entre vous accède à Gladys à la maison : une IP locale, en HTTP, sans certificat. D’où le fameux redirect_uri: Not matching configuration.
C’est une problématique commune à tous les projets auto-hébergés, Home Assistant y a été confronté de la même façon.
Le contournement en attendant
Celui évoqué par @Will_71 fonctionne : déclarer côté Spotify l’URL de callback de Gladys en remplaçant l’IP locale par 127.0.0.1 (en gardant le port et le chemin exactement identiques), puis lancer l’autorisation depuis un navigateur qui tourne sur la machine où est installé Gladys, ou via un tunnel SSH (ssh -L) depuis votre PC.
Ça marche parce que Spotify vérifie uniquement que l’URL correspond au caractère près, il n’a jamais besoin de la joindre lui-même.
Mais soyons honnêtes : c’est parfait pour les bidouilleurs, et inutilisable pour quelqu’un qui pilote son Gladys depuis son téléphone. Ce n’est pas une réponse acceptable à long terme.
La vraie solution : une URL de redirection officielle Gladys
Je vais mettre en place une URL de redirection officielle en HTTPS, hébergée par Gladys, sur le même principe que ce que fait Home Assistant avec my.home-assistant.io.
Le principe :
- C’est cette URL officielle (en HTTPS, donc acceptée par Spotify) que vous déclarez dans votre application Spotify, plus besoin de certificat ni de nom de domaine chez vous.
- Après votre autorisation, Spotify renvoie sur cette page, qui redirige simplement votre navigateur vers votre Gladys en local, avec un écran de confirmation vous indiquant clairement vers quelle adresse vous allez être renvoyé.
- Votre instance termine l’échange elle-même et stocke les jetons en local.
Point important sur la vie privée : cette page est entièrement statique, sans serveur derrière. Vos identifiants Spotify, vos jetons d’accès et vos données ne transitent jamais par nos serveurs, la page ne fait qu’une redirection dans votre navigateur, exactement comme le fait Home Assistant.
Autres avantages :
- ça marchera pour toutes les intégrations externes qui utilisent une connexion OAuth2, pas seulement Spotify ;
- pas besoin de Gladys Plus ni d’abonnement : c’est disponible pour tout le monde ;
- pour celles et ceux qui ont déjà une URL en HTTPS (nom de domaine, reverse proxy), vous pourrez continuer à utiliser la vôtre.
Je m’occupe de la mise en place et je reviens vers vous ici dès que c’est disponible, avec la documentation mise à jour. En attendant, le contournement 127.0.0.1 ci-dessus permet de s’en sortir.
Merci d’avoir remonté le problème 