Hallo!
Danke für den Hinweis, das Thema ist wichtig und geht weit über Spotify hinaus.
Warum es blockiert
Spotify hat seine Sicherheitsregeln Anfang 2025 verschärft (für neue Anwendungen ab dem 9. April 2025, für alle ab November 2025). Eine OAuth-Umleitungs-URL wird nun nur noch akzeptiert, wenn:
- sie HTTPS ist, oder
- es eine explizite Loopback-Adresse ist:
http://127.0.0.1:PORT oder http://[::1]:PORT.
localhost wird nicht mehr akzeptiert, und eine lokale IP in HTTP (http://192.168.1.50) auch nicht. Genau so greifen die meisten von euch jedoch auf Gladys zu: über eine lokale IP, in HTTP, ohne Zertifikat. Daher die berühmte Fehlermeldung redirect_uri: Not matching configuration.
Das ist ein Problem, das alle selbstgehosteten Projekte betrifft, auch Home Assistant hatte damit zu kämpfen.
Die vorläufige Lösung
Die von @Will_71 vorgeschlagene Lösung funktioniert: Gebt bei Spotify die Callback-URL von Gladys an, indem ihr die lokale IP durch 127.0.0.1 ersetzt (Port und Pfad müssen exakt gleich bleiben), und startet die Autorisierung dann von einem Browser aus, der auf dem Rechner läuft, auf dem Gladys installiert ist, oder über einen SSH-Tunnel (ssh -L) von eurem PC aus.
Das funktioniert, weil Spotify nur prüft, ob die URL exakt übereinstimmt, und sie nie selbst aufrufen muss.
Aber seien wir ehrlich: Das ist perfekt für Tüftler, aber unbrauchbar für jemanden, der Gladys von seinem Telefon aus steuert. Das ist keine akzeptable Lösung auf Dauer.
Die echte Lösung: Eine offizielle Gladys-Umleitungs-URL
Ich werde eine offizielle HTTPS-Umleitungs-URL, gehostet von Gladys, einrichten, nach demselben Prinzip wie Home Assistant mit my.home-assistant.io.
Das Prinzip:
- Diese offizielle URL (HTTPS, also von Spotify akzeptiert) gebt ihr in eurer Spotify-Anwendung an, ihr braucht kein Zertifikat oder einen Domainnamen mehr.
- Nach eurer Autorisierung leitet Spotify auf diese Seite weiter, die euren Browser einfach zu eurem lokalen Gladys weiterleitet, mit einer Bestätigungsseite, die euch klar anzeigt, auf welche Adresse ihr weitergeleitet werdet.
- Eure Instanz beendet den Austausch selbst und speichert die Tokens lokal.
Wichtiger Punkt zum Datenschutz: Diese Seite ist vollständig statisch, ohne Server dahinter. Eure Spotify-Anmeldedaten, eure Zugriffstokens und eure Daten gehen nie über unsere Server, die Seite macht nur eine Weiterleitung in eurem Browser, genau wie Home Assistant.
Weitere Vorteile:
- Es funktioniert für alle externen Integrationen, die eine OAuth2-Verbindung nutzen, nicht nur für Spotify;
- kein Gladys Plus oder Abonnement nötig: Es steht für alle zur Verfügung;
- Für diejenigen, die bereits eine HTTPS-URL haben (Domainname, Reverse Proxy), könnt ihr weiterhin eure eigene nutzen.
Ich kümmere mich um die Umsetzung und komme hier zurück, sobald es verfügbar ist, mit der aktualisierten Dokumentation. In der Zwischenzeit ermöglicht die obige 127.0.0.1-Umgehung das Weiterarbeiten.
Danke, dass ihr das Problem gemeldet habt 